Publish one message and watch the exchange decide which queue bindings match. The same producer message can be routed by exact key, wildcard topic pattern, broadcast fanout, or message headers.
ExchangeTopic
Matched queues2
Unroutable pathNot needed
Active ruleTopic wildcard
TryChoose Topic and the Topic: room telemetry Scenario, then press Step with its initial routing key.
ObserveMatches starts at 2 and changes as exchange type, routing key, wildcard bindings, or headers alter the eligible queues.
ExplainDirect exchanges compare exact keys, topic exchanges match wildcard words, fanout ignores keys, and headers evaluate field predicates before copying a message.
Technical boundariesRouting is evaluated against fixed bindings on one broker; binding churn, alternate-exchange chains, permissions, cluster partitions, ordering, and queue capacity are omitted.
1. PublishProducer sends to one exchange.2. ExchangeThe exchange receives the publish.3. BindingsRules are evaluated one by one.4. CopiesMatched queues receive copies.5. ResultThe delivery result is visible.
Matched routeEvaluated but skippedUnroutable result
Routing Decision
The routing key matches the room temperature and all-sensors topic bindings, so the exchange sends copies to those queues.
Queue Results
Decision trace
Exchange types
Direct: binding key must equal the routing key.
Topic: dot-separated words match * and # patterns.
Fanout: every bound queue receives a copy.
Headers: header values are compared with x-match logic.
Topic wildcard rules
* matches exactly one routing-key word.
# matches zero or more routing-key words.
AMQP topic separators are dots, for example sensor.room.temp.
Headers exchange
The routing key is not used for matching.
x-match=all requires every listed header to match.
x-match=any accepts one matching header.
Unroutable messages
Without a match, a normal publish can be discarded.
An alternate exchange can route the miss to a fallback queue.
The mandatory flag asks for a return if no route is available.
IoT patterns
Use topic exchanges for telemetry families such as sensor.#.
Use direct exchanges for commands with exact operation keys.
Use fanout exchanges for fleet-wide alerts or cache invalidation.
Mental model
The producer sends to an exchange, not a queue.
Bindings are the exchange routing table.
One message can be copied to several queues when several bindings match.