Rabbit延迟队列场景及思路

最近在项目中遇到一个场景:“我们调用第三方接口返回成功,但具体执行是他们实现的,具体逻辑是否执行成功需要我们重新去查询他们的执行状态查看是否执行成功”

碰见这种我们首先想到的就是异步调用查询状态信息,我当时想到可消息队列,在我们请求成功后,我们发消息到MQ,让MQ去触发去查询状态

但还有一个问题,我们调用第三方后,状态不可能立马改变过来,他们处理也是需要时间的,我们需要在请求成功后一分钟或2分钟再去查询状态,给他们足够的时间处理业务,这里我们用到了MQ的延迟队列

我们先建立一个延迟的交换机,绑定一个延迟队列,队列设置消息的过期时间例如为一分钟,

我们在建立一个用于消费的交换机绑定一个消费队列,配置当延迟队列消息失效后消息转发到消费队列,这样我们发送消息到延迟队列,延迟队列保存一分钟,一分钟后消息失效到消费队列,消费队列收到消息后去消费,这样就实现了消息的延迟消费

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值