AMQP 0-9-1 协议扩展
概述
RabbitMQ 实现了 AMQP 0-9-1 规范 的多项扩展,这些扩展列在本页中。
部分扩展引入了新的协议方法(操作);其他扩展则依赖于现有的扩展点,例如可选队列参数。
发布
消费
- 消费者取消通知让消费者知道它是否已被服务器取消。
basic.nack扩展了basic.reject,以支持一次拒绝多条消息。- 消费者优先级允许您优先向高优先级消费者发送消息。
- 直接回复 (Direct Reply-To) 允许 RPC 客户端无需声明队列即可接收其查询的回复。
消息路由
- 交换机到交换机绑定 (Exchange to Exchange Bindings) 允许消息通过多个交换机以实现更灵活的路由。
- 备用交换机 (Alternate Exchanges) 用于路由那些无法被正常路由的消息。
- 发送者选择分发 (Sender-selected Distribution) 允许发布者直接决定消息的路由去向。
消息生命周期
- 队列级消息 TTL 确定未消费的消息在队列中可以存活多久,之后会被自动删除。
- 消息级 TTL 确定每条消息各自的 TTL。
- 队列 TTL 确定未使用的队列在被自动删除前可以存活多久。
- 死信交换机 (Dead Letter Exchanges) 确保消息在被拒绝或过期时能够被重新路由。
- 队列长度限制允许设置队列的最大长度。
- 优先级队列支持消息优先级字段(方式略有不同)。
认证与身份
AMQP 0-9-1 规范差异
AMQP 0-8 中的某些特性在 AMQP 0-9-1 中已被弃用。我们恢复了其中部分功能,并引入了一些细微的行为变更以提升产品易用性。请参阅规范差异页面。
此外还有一个 AMQP 0-9-1 勘误表页面,解释了各种