AMQP 0-9-1 协议扩展
概述
RabbitMQ 实现了一些对 AMQP 0-9-1 规范 的扩展,我们在这里记录它们。
一些扩展引入了新的协议方法(操作);另一些则依赖于现有的扩展点,例如 可选队列参数。
发布
消费
- 消费者取消通知 让消费者知道它是否已被服务器取消。
basic.nack
扩展了basic.reject
以支持一次拒绝多条消息。- 消费者优先级 允许您首先将消息发送到优先级更高的消费者。
- 直接回复 允许 RPC 客户端接收对其查询的回复,而无需声明临时队列。
消息路由
消息生命周期
- 每个队列的消息 TTL 决定未消费的消息在队列中停留多长时间,之后它将自动删除。
- 每个消息的 TTL 决定每个消息的 TTL。
- 队列 TTL 决定未使用的队列停留多长时间,之后它将自动删除。
- 死信交换机 确保消息在被拒绝或过期时重新路由。
- 队列长度限制 允许设置队列的最大长度。
- 优先级队列 支持消息优先级字段(以略有不同的方式)。
身份验证和身份
- 服务器将验证 用户 ID 消息属性。
- 广告宣传了相应功能的客户端可能会从代理接收显式的 身份验证失败通知。
update-secret
能够更新活动连接的凭据,当这些凭据可能过期时。
AMQP 0-9-1 规范差异
AMQP 0-8 中的一些功能在 AMQP 0-9-1 中被弃用。我们取消了其中一些功能的弃用,并引入了一些细微的行为更改,从而提高了产品的可用性。请参阅 规范差异 页面。
还有一个 AMQP 0-9-1 校正页面,解释了各种