Rabbit MQ - MacKittipat/note-developer GitHub Wiki

Core Concepts

Term Meaning
Producer Sends messages
Consumer Receives messages
Queue Stores messages
Exchange Routes messages. It receives messages from producers and pushes them to queues
Binding Rule linking exchange → queue
Routing Key Message tag used for routing

Message Flow

Producer
   ↓
Exchange
   ↓
Queue
   ↓
Consumer

Exchange Type

Default Exchange

Direct Exchange

Direct exchange routes messages to queues using exact routing key match. Exchange checks which queues are bound with EXACT same key. Only those queues receive message.

Fanout Exchange

Fanout exchange broadcasts messages to ALL bound queues. It ignores routing keys completely.

Topic Exchange

Topic exchange routes messages using pattern matching on routing keys.