首页 > 其他 > 详细

rabbitmq多消费者

时间:2019-11-20 18:37:51      阅读:86      评论:0      收藏:0      [点我收藏+]

rabbitmq多消费者处理

当rabbitmq拥有多个消费者时,队列收到的消息将以轮询(round-robin)的分发方式发送给消费者。每条消息只会发送给订阅列表里的一个消费者。这种方式非常适合扩展,而且它是专门为并发程序设计的。如果现在负载加重,那么只需创建更多的消费者来消费处理消息即可

 

缺点:默认情况下,如果有n个消费者,那么rabbitmq会将第m条消息分发给第m%n(取余的方式)个消费者,rabbitmq不管消费者是否消费并已经确认(Basic.Ack)了消息。如果某些消费者任务繁重,来不及消费那么多消息,而某些其他消费者由于某些原因很快处理完了所分配到的消息,进而空闲,这样就会造成整体应用吞吐量的下降。

解决方案:可以使用rabbitmq的channel.basicQos限制信道上消费者所能保持的最大未确认消息的数

rabbitmq多消费者

原文:https://www.cnblogs.com/huanmin/p/11899527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!