RabbitMQ中有大批量的消息,此时多个消费者同时访问消息队列是怎样取里面的消息的?

Posted 杀手不太冷!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ中有大批量的消息,此时多个消费者同时访问消息队列是怎样取里面的消息的?相关的知识,希望对你有一定的参考价值。

RabbitMQ中有大批量的消息,此时多个消费者同时访问消息队列是怎样取里面的消息的?

首先写一个消费者

如下图:

模拟出多个消费者线程

因为我们要一次性的模拟多个消费者线程,所以我们要把Worker01消费者打开一个配置,打开一个允许多个线程同时运行的配置,如下图:

启动多个消费者线程如下图:

现在已经模拟出来了三个消费者线程了,接下来就要看一下不同线程的消费者是如何同时去访问RabbitMQ消息队列中的消息的。

模拟生产者向RabbitMQ消息队列里生产大量的消息

测试

三个不同线程的消费者启动之后,再启动生产者,大批量的往消息队列里发送消息,如下图:

结果:因为不同线程的消费者是轮询的从RabbitMQ消息队列中取消息,所以C1因为可以取到AA,DD消息,而C2应该取到BB消息,C3应该取到CC消息,如下图:

测试成功。

以上是关于RabbitMQ中有大批量的消息,此时多个消费者同时访问消息队列是怎样取里面的消息的?的主要内容,如果未能解决你的问题,请参考以下文章

Python操作rabbitmq系列:多个接收端消费消息

RabbitMQ使用

RabbitMQ集群

RabbitMQ拉模式批量消费消息

RabbitMQ:消息分发模型

rabbitmq的消息持久化和消费者ack确认