![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
RabbitMQ
文章平均质量分 88
RabbitMQ是采用AMQP高级消息队列协议的种种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦。
家师曹先生
这个作者很懒,什么都没留下…
展开
-
RabbitMQ延迟队列实现 ( 插件版 )
安装完rabbitmq-delayed-message-exchange插件后,会生成一个新的Exchange类型 x-delayed-message ,该类型消息支持延迟投递机制。接收到消息后并不会立即将消息投递至目标队列,而是存储在mnesia table(一个分布式数据库)中,然后检测消息延迟时间,如果达到可投递时间( 过期时间 )后,将其通过 x-delayed-type 类型标记的交换机投递到目标队列中。...原创 2022-07-12 23:04:13 · 3794 阅读 · 0 评论 -
RabbitMQ延迟队列优化
1)前文中讲解的延迟队列方案,是一种延迟消息对应一个延迟队列和一个死信队列,每增加一种延迟消息就得增加一种对应的延迟队列和一种对应的死信队列,非常麻烦且不利于后期的业务扩展。2)优化后的延迟队列实现方案:通过将 TTL 属性设置在消息属性里,然后添加一个延迟队列,用于接收设置为任意延迟时常的消息,再添加一个相应的死信交换机、死信队列和routingkey即可。( 即:只有一个延迟队列和一个死信队列。 )............原创 2022-07-11 20:38:49 · 545 阅读 · 0 评论 -
RabbitMQ延迟队列实现
1) 生产者生产一条延迟消息,根据延迟时间的不同,利用不同的routing-key将消息路由到不同的延迟队列,每个队列都设置了不同的 TTL 属性 ( TTL ( Time To Live ) 生存时间 ),并绑定到同一个死信交换机中。2) 消息过期后,根据routing-key的不同,又会被死信交换机路由到不同的死信队列中,消费者只需要监听对应的死信队列进行消费即可。......原创 2022-07-11 15:57:48 · 1236 阅读 · 0 评论 -
RabbitMQ延迟队列
1.1、什么是延迟队列。1)延迟队列是指消息进入队列后不会被立即消费,只有达到指定时间后,才能被消费。2)但RabbitMQ中并没有提供延迟队列功能。1.2、RabbitMQ如何实现延迟队列。1)使用RabbitMQ的高级特性TTL + 死信队列实现。2)使用RabbitMQ的 rabbitmq-delay-message-exchange 插件来实现。...原创 2022-07-11 15:39:42 · 2770 阅读 · 0 评论 -
RabbitMQ ( 一 ):安装RabbitMQ、了解RabbitMQ相关名词 以及 4种Exchange交换器
MQ(Message Queue)是一种消息代理(接收和转发消息),本质是个队列,遵循 FIFO 先进先出原则,只不过队列中存放的内容是 Message 而已。RabbitMQ是AMQP的一种实现,可以用于异步消息处理、应用解耦、流量削峰等功能场景...原创 2022-07-07 11:25:25 · 384 阅读 · 0 评论