RabbitMQ-死信交换机(延时队列)

RabbitMQ-死信交换机(延时队列)

延时队列 = TTL + 死心交换机 或者 使用RabbitMQ提供的消失消息插件

死信交换机,当一个队列中的消息满足下列情况之一时,就可以成为死信

  1. 消费者使用basic.reject或basic.nack声明消费失败,并且消息的requeue参数设置为false
  2. 消息是一个过期消息,超时无人消费
  3. 要投递的队列,消息堆满了,最早的消息就可能成为死信

TTL,也就是Tile-To-Live。如果一个队列中的消息TTL结束仍未被消费,则就会变为死信。

  1. 消息所在的队列设置了存活时间
  2. 消息本身设置了存活时间

RabbitMQ-死信交换机(延时队列)

  1. 可以使用TTL + 死信交换机来实现,死信交换机的触发条件是这样的,1 当消息被拒绝后会把消息放到死信中 2 当消息的TTL过期后也会被放到死信交换机中 3 当队列的消息堆满后,最早的消息可能会放到死信中。
  2. 还有另外一种方式,就是RabbitMQ提供的插件,这样实现延时队列就会见会简单很多,声明一个队列,设置delayed属性为True,发送消息的时候添加x-delay头,添加过期时间。
相关推荐
2501_941800881 天前
区块链与互联网:重塑信任、去中心化的数字时代
rabbitmq
2501_941148151 天前
基于 Scala 与 Akka 构建高并发分布式系统与消息驱动微服务实践分享
rabbitmq
2501_941147421 天前
基于 Scala 与 Akka 构建高并发分布式微服务与实时事件处理系统实践分享
rabbitmq
2501_941149501 天前
微服务架构下基于Java构建分布式订单处理与库存管理系统的高并发优化实践经验分享
rabbitmq
2501_941144031 天前
API网关与接口聚合在高并发互联网系统架构优化与实践经验分享
rabbitmq
Bug快跑-11 天前
云计算驱动下一代数据协同治理模式创新与体系构建深度解析全流程架构设计思路与实践经验总结
rabbitmq
2501_941146321 天前
高并发搜索引擎Elasticsearch与Solr在互联网系统优化实践经验分享
rabbitmq
2501_941146701 天前
人工智能赋能智慧零售互联网应用:智能供应链与用户体验优化实践探索》
rabbitmq
JSON_L1 天前
RabbitMQ window环境安装
后端·rabbitmq
2501_941803621 天前
Python高性能自然语言处理与Transformers实战分享:文本分析、语义理解与优化经验
rabbitmq