Why do we need this improvement?
Pulsar message order is an important part to consistently understanding a stream of messages. Pulsar guarantees message order for the receiver using a key or partitioning key, when they use a KeyShared subscription.
See
How will this change help?
Documenting the ordering key clarifies both the ordering guarantees (high-level) and the partitioning (technical). Together, this allows providers and consumers to agree on how messages are partially ordered, leading to consistent understanding on both sides.
Screenshots
No response
How could it be implemented/designed?
I propose adding either order-key, partition-key or key to the pulsar bindings.
While my employer defines a consistent ordering on channel level, for multiple operations and message types, Pulsar allows defining any value as ordering key on message level.
As such, similar to Kafka bindings, I propose defining a message binding and adding it there.
🚧 Breaking changes
No
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue?
Yes I am willing to submit a PR!
Why do we need this improvement?
Pulsar message order is an important part to consistently understanding a stream of messages. Pulsar guarantees message order for the receiver using a key or partitioning key, when they use a KeyShared subscription.
See
How will this change help?
Documenting the ordering key clarifies both the ordering guarantees (high-level) and the partitioning (technical). Together, this allows providers and consumers to agree on how messages are partially ordered, leading to consistent understanding on both sides.
Screenshots
No response
How could it be implemented/designed?
I propose adding either
order-key,partition-keyorkeyto the pulsar bindings.While my employer defines a consistent ordering on channel level, for multiple operations and message types, Pulsar allows defining any value as ordering key on message level.
As such, similar to Kafka bindings, I propose defining a message binding and adding it there.
🚧 Breaking changes
No
👀 Have you checked for similar open issues?
🏢 Have you read the Contributing Guidelines?
Are you willing to work on this issue?
Yes I am willing to submit a PR!