RabbitMQ 延时消息实现方式

本文详细介绍了RabbitMQ实现延时消息的两种方法:队列ttl+死信exchange,以及rabbitmq-delayed-message-exchange插件。讨论了各自的优缺点和适用场景,包括ttl设置、死信exchange工作原理、延时插件的工作机制,以及它们在高可用性和内存管理上的考虑。
摘要由CSDN通过智能技术生成

rabbitmq实现延时消息主要有两种方式:

  • 死信消息(队列ttl+死信exchange)
  • 延时插件 (rabbitmq-delayed-message-exchange)

rabbitmq 实现方式一:队列ttl+死信exchange

简述:使用两个队列,一个队列接收消息不消费,等待指定时间后消息死亡,再由该队列绑定的死信exchange再次将其路由到另一个队列提供业务消费。

ttl 和 死信exchange 相关知识

ttl

先贴两个个rabbitmq官方文档:

  • Time-To-Live and Expiration:https://www.rabbitmq.com/ttl.html
  • Dead Letter Exchangeshttps:https://www.rabbitmq.com/dlx.html

我这里也简单介绍下:
rabbitmq 可以给 消息 和 队列 设置 ttl(生存时间)

  • 队列设置:x-message-ttl=60000 (队列中所有消息都只有60s存活时间)
  • 指定消息设置:expire=60000 指定消息只有60s存活时间

如果队列和消息同时设置了ttl,则取较小的那个作为ttl。消息死亡后不会被消费者消费。

死信exchange

死信(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值