栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

rabbitmq-死信交换机和死信队列

rabbitmq-死信交换机和死信队列

如果使用消息拒绝机制,同时 requeue 参数设置为 false时,消息丢失了,这点作为程序员我们不能忍。所以 RabbitMQ作为一个高级消息中间件,提出了死信交换器的概念,死信,意思就是死了的信息。这种交换器专门处理死了的信息(被拒绝可以重新投递的信息不能算死的)。

死信交换器是 RabbitMQ 对 AMQP 规范的一个扩展,往往用在对问题消息的诊断上(主要针对消费者),还有延时队列的功能。

消息变成死信一般是以下三种情况:

消息被拒绝,并且设置 requeue 参数为 false 消息过期(默认情况下 Rabbit 中的消息不过期,但是可以设置队列的过期时间和消息的过期时间以达到消息过期的效果) 队列达到最大长度(一般当设置了最大队列长度或大小并达到最大值时)

当满足上面三种情况时,消息会变成死信消息,并通过死信交换机投递到相应的队列中。我们只需要监听相应队列,就可以对死信消息进行最后的处理。

 

死信消息流程

下面我们演示一下如何利用死信队列完成未支付订单的超时处理功能。

首先生产者生产一条1分钟后超时的订单消息到正常交换机exchange-a中,消息匹

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/728907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号