大概内容讲解:
1.QA通过延时队列实现订单超时功能,一段时间的延时后进入QB队列进行解锁库存。
2.如重试失败n次后进入QC延时队列,进行后续的处理任务。
yml配置文件
try...catch 会使重试机制失效,所以我们注释掉重试机制的配置
后续用redis进行重试机制的实现
配置交换机、队列
常量设置
交换机配置
队列配置
交换机和队列间的绑定
消费者实现代码
1.将订单号存入redis,当做一个全局唯一id
2.可以根据code判断进行修改重试的次数(code<4)本文中重试次数为3,之后消息不回队列,进入QC延时队列,进行后续的处理操作,(本文写为人工处理),可根据业务操作来进行自定义
3.进入延时队列后,或者消息消费成功,删除redis中的缓存
死信队列后续处理代码