死信队列
最近做秒杀项目,用到了死信队列
基本消息队列的消息生产者在产生消息后直接传给消费者。
而死信队列可以利用TTL(time to live)控制消息不直接背消费,产生一定延时
消息变成死信的条件:
消息被拒绝签收(Nack),并且不允许重回队列。
TTL设定的消息有效时间过期。
实际消息数大于队列最大限制数,那么超出最大限制的消息都将会是死信。
死信队列由死信交换机、死信路由、TTL组成,与真正对列绑定。
生产者生产的消息由基本交换机路由到死信队列,停留TTL设置的时间后,被死信交换机路由到真正队列,被监听消费,进而进行下一步操作。
在项目中就是设置订单超时未支付失效。
项目链接
https://www.bilibili.com/video/av73128910?p=32