美文网首页
使用死信队列完成延时队列

使用死信队列完成延时队列

作者: 为泄废举义添砖加瓦开花攻城撕 | 来源:发表于2020-11-16 19:16 被阅读0次

事情要追溯到两年多前,当时在一个项目组工作,有一个业务场景是A服务器处理完平账,同时向外推送已平账的消息。但是but然而,消费者接收到消息,去A服务查询信息,有可能查不到平账的记录。十分垃圾。于是需要消费者接收到消息之后,过5分钟再进行逻辑处理。

基于这个业务场景,打算使用延时队列。

基本思路是,利用死信队列的超时转发功能。监听到A服务发送的消息,扔到死信队列B并设置超时5分钟转发到C队列,由C队列消费者来进行业务处理。代码如下

正常监听服务A的队列并发送到死信队列 发送到死信交换机,设置路由规则(可能有多个私信队列使用同一个死信交换机) 声明延时队列 绑定延时队列到死信交换机,并设置路由规则 声明死信队列和超时规则 绑定死信队列到死信交换机 设置死信队列超时规则,仍然发到死信交换机并根据routingKey转发到延时队列 声明死信交换机 监听延时队列并进行业务处理 mq的其他配置

相关文章

网友评论

      本文标题:使用死信队列完成延时队列

      本文链接:https://www.haomeiwen.com/subject/bupzbktx.html