RabbitMQ延时队列实现分布式事务的最终一致性方案

本文介绍如何利用RabbitMQ实现延时队列,包括两种实现方式及其优缺点对比,并通过具体案例展示了如何设置1分钟延迟消息,以便进行订单状态释放。

应用场景:大型电商订单支付

消息的TTL(Time To Live)

 死信路由Dead Letter Exchanges(DLX)

延时队列实现1 

生产者发送消息给交换机 携带路由键deal.message

交换机将其转发给delay队列  无人监听这个队列

该队列设置消息存活时间是5分钟 到期转发给指定的路由件delay.exchange 消息的key是delay.message

delay交换机接受到消息后继续转发给与其绑定的test队列

消费者通过监听test队列,就可以获得这个消息

这样就成功设置了5分钟延迟的队列消息

延时队列实现2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值