Pulsar
{
"service_url": "pulsar://pulsar:6650",
"tenant": "public",
"namespace": "default",
"default_topic": null,
"auth": { "kind": "none" },
"tls": {
"enabled": false, "client_certs": [], "trusted_certs": [], "trust_all": false, "hostname_verification": true,
"trust_certs_file_path": null
}
}
service_url is required: pulsar://, or pulsar+ssl:// with tls.enabled.
authis{"kind": "none"},{"kind": "token", "token": "..."}(a JWT, as Pulsar's token authentication takes it) or{"kind": "basic", "username": "...", "password": "..."}.- Topics without a scheme are
persistent://<tenant>/<namespace>/<topic>. trust_certs_file_path: a PEM file of trusted certificates on the node, next to the ones of the store.
What Pulsar brings
- Producers are kept, one per topic (the 64 most recently used). The result of each event gives
its message id. An event's
partitionkeyis its message key. - Consuming: without a
group, a non durable subscription of its own (every message, nothing left on the broker). With agroup, a durable subscription, shared by default (subscription_type:exclusive,shared,failover,key_shared): it keeps what is published while none of its subscribers is connected. at-least-onceacks once handed over; what was not acked is delivered again.- Replay:
from=earliest(for a new subscription),from_timestamp. - Server-sent events resume by message id, topic by topic (partition by partition).