高级消息队列协议, 客户端应用和消息broker中间件之间使用此协议进行通讯.
- Exchange
- Queue
- Binding
- Is a direct exchange
- Has no name
- Every queue is automatically bound to it with queue name as routing key
- Is ideal for the unicast routing of messages
- Often used to distribute tasks between multiple workers
- Routes messages to all the bound queue.
- Routing key is ignored
- Ideal for broadcasting
- Ideal for multicasting
- Multiple consumer that selectively choose which type of messages they want to receive
- Name
- Durable
- Exclusive
- Auto-delete
- Arguments
- Consumer tags
Every consumer has an identifier that is used by client libraries to determine what handler to invoke for a given delivery
- single active consumer
Note that without the single active consumer feature enabled, messages would be dispatched to all consumers using round-robin.