Skip to content

Document RabbitMQ pub/sub externally managed topology and consistent hash exchange - #5297

Open
MyMirelHub wants to merge 3 commits into
dapr:v1.19from
MyMirelHub:docs/rabbitmq-topology-modes
Open

Document RabbitMQ pub/sub externally managed topology and consistent hash exchange#5297
MyMirelHub wants to merge 3 commits into
dapr:v1.19from
MyMirelHub:docs/rabbitmq-topology-modes

Conversation

@MyMirelHub

@MyMirelHub MyMirelHub commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Description

Documents the two RabbitMQ pub/sub features added in dapr/components-contrib#4552, and fixes an existing inaccuracy in the same page.

  • exchangeDeclareMode / queueDeclareMode — new section Use an externally managed topology, for brokers whose exchanges and queues are owned by the RabbitMQ Topology Operator, Terraform, or similar. Covers why the collision happens (PRECONDITION_FAILED), what each mode asserts, that dead-letter objects follow the same rule, and that queue arguments become the external owner's responsibility under queueDeclareMode: passive.
  • x-consistent-hash — new section Use a consistent hash exchange for partitioned ordering. The part worth being explicit about is that routingKey means the partition key when publishing and the queue's integer bucket weight when subscribing.
  • exchangeKind allowed values — the table listed only fanout and topic. direct and headers have long been accepted by the component; this corrects the row and adds x-consistent-hash.

Issue reference

Documents dapr/components-contrib#4553 and dapr/components-contrib#4554.

Checklist

  • Content written in the style of existing documentation
  • Code examples included where relevant
  • Cross-referenced from the metadata table to the new sections

…hash exchange

Adds reference for the new exchangeDeclareMode and queueDeclareMode metadata
fields, and for the x-consistent-hash exchange kind.

Also corrects the exchangeKind allowed values, which listed only fanout and
topic although direct and headers have long been accepted.

Signed-off-by: MyMirelHub <15373565+MyMirelHub@users.noreply.github.com>
Signed-off-by: MyMirelHub <15373565+MyMirelHub@users.noreply.github.com>
@MyMirelHub
MyMirelHub marked this pull request as ready for review August 26, 2026 05:20
@MyMirelHub
MyMirelHub requested review from a team as code owners August 26, 2026 05:20
The component validates exchangeKind against the same allowlist in both
declare modes, matching the allowedValues in metadata.yaml.

Signed-off-by: MyMirelHub <15373565+MyMirelHub@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant