zoukankan      html  css  js  c++  java
  • rabbitmq多消费者

    rabbitmq多消费者处理

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

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

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

  • 相关阅读:
    sql server紧急状态下登录脚本
    将SQL for xml path('')中转义的字符正常显示
    SQL查询表中的有那些索引
    Set ARITHABORT Option设置为ON
    检测重编译
    计划指南
    sql server 清理缓存
    变量绑定
    分析及动态采样
    Hint
  • 原文地址:https://www.cnblogs.com/huanmin/p/11899527.html
Copyright © 2011-2022 走看看