使用死信队列完成延时队列
2020-11-16 本文已影响0人
为泄废举义添砖加瓦开花攻城撕
事情要追溯到两年多前,当时在一个项目组工作,有一个业务场景是A服务器处理完平账,同时向外推送已平账的消息。但是but然而,消费者接收到消息,去A服务查询信息,有可能查不到平账的记录。十分垃圾。于是需要消费者接收到消息之后,过5分钟再进行逻辑处理。
基于这个业务场景,打算使用延时队列。
基本思路是,利用死信队列的超时转发功能。监听到A服务发送的消息,扔到死信队列B并设置超时5分钟转发到C队列,由C队列消费者来进行业务处理。代码如下









