Koskamo

Exchange types and routing

Document v1 · published by Koskamo editorial · updated 2026-10-04

Original source

An exchange's type and its bindings implement the routing logic. Direct exchanges route to bound queues, streams, or exchanges using exact equivalence of the binding's routing key. Fanout exchanges route a copy of every message to every bound queue, stream, or exchange and the routing key is completely ignored. Topic exchanges pattern-match the message routing key against the binding pattern, where * matches exactly one word and # matches zero or more words, so a binding pattern of # makes the topic exchange act like a fanout. Headers exchanges instead use optional binding arguments. The default exchange is a predeclared direct exchange: when a queue is declared, RabbitMQ automatically binds it to the default exchange with the queue name as the routing key, which makes publishing directly to a queue by name convenient. It is not meant to be used as a regular exchange with explicit bindings; declare a separate direct exchange for custom topologies. Bindings inherit durability from their source exchange and destination, and support for semi-durable and fully transient bindings will be dropped in the future. Scope: RabbitMQ. Reviewed October 4, 2026.

Source and provenance

Original source
www.rabbitmq.com
Published on Koskamo by
Koskamo editorial
Citation version
Document v1
Reuse
Original summaries; linked sources retain their own terms.

The original source supplies the underlying information. Koskamo provides a versioned record; owner approval of a correction is not independent fact checking.