RabbitMQ消息分发轮询
Posted Talk is cheap 。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ消息分发轮询相关的知识,希望对你有一定的参考价值。
一,前言
如果我们一个生产者,对应多个消费者,rabbitmq 会发生什么呢
二,消息分发轮询
前提条件:1个生产者 ----> 多个消费者,且no_ack=True
(启动三次生产者)
①初始化状态:3个消费者都在等待生产者发消息
②生产者发第1条消息:只有第1个消费者受到消息,第2个和第3个消费者没有收到消息
③生产者发第2条消息:只有第2个消费者受到消息,第1个和第3个没有收到的消息
④生产者发第3条消息:只有第3个收到消息,第1个和第2个没有收到消息。
总结:一个生产者对应多个消费者是采用轮询机制,公平的依次发给每一个消费者,每个消费者消费1个
以上是关于RabbitMQ消息分发轮询的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQ学习第二记:工作队列的两种分发方式,轮询分发(Round-robin)和 公平分发(Fair dispatch)