大概内容讲解:
1.QA通过延时队列实现订单超时功能,一段时间的延时后进入QB队列进行解锁库存。
2.如重试失败n次后进入QC延时队列,进行后续的处理任务。
yml配置文件
try...catch 会使重试机制失效,所以我们注释掉重试机制的配置
后续用redis进行重试机制的实现

配置交换机、队列
常量设置

交换机配置

队列配置

交换机和队列间的绑定

消费者实现代码
1.将订单号存入redis,当做一个全局唯一id
2.可以根据code判断进行修改重试的次数(code<4)本文中重试次数为3,之后消息不回队列,进入QC延时队列,进行后续的处理操作,(本文写为人工处理),可根据业务操作来进行自定义
3.进入延时队列后,或者消息消费成功,删除redis中的缓存

死信队列后续处理代码

本文介绍了如何使用延时队列来处理订单超时和重试机制。通过QA队列实现订单超时后解锁库存,如果重试n次失败则进入QC队列进行后续处理。配置文件中注释掉了原有的重试机制,转而利用Redis实现。消费者代码包括将订单号存入Redis、根据重试次数调整操作以及清理Redis缓存。死信队列用于处理失败的消息。
2414

被折叠的 条评论
为什么被折叠?



