Rebalance机制本意是为了提升消息的并行处理能力。例如,一个Topic下5个队列,在只有1个消费者的情况下,那么这个消费者将负责处理这5个队列的消息。如果此时我们增加一个消费者,那么可以给其中一个消费者分配2个队列,给另一个分配3个队列,从而提升消息的并行处理能力。

Rebalance限制
由于一个队列最多分配给一个消费者,因此当某个消费者组下的消费者实例数量大于队列的数量时,多余的消费者实例将分配不到任何队列

Rebalance危害
消费暂停:考虑在只有Consumer 1的情况下,其负责消费所有5个队列;在新增Consumer 2,触发Rebalance时,需要分配2个队列给其消费。那么Consumer 1就需要停止这2个队列的消费,等到这两个队列分配给Consumer 2后,这两个队列才能继续被消费。
重复消费:consumer1 消费消息,consumer2加入,分配新的队列消费。必须接着从Consumer 1之前已经消费到的offset继续开始消费。默认情况下,当消费完之后,消息总是异步发送给Broker,broker收到ack后更新消费到的offset。如果consumer 1当前消费到offset为10,但是异步提交给broker的offset为8;那么如果consumer 2从8的offset开始消费,那么就会有2条消息重复。也就是说,Consumer 2 并不会等待Consumer1提交完offset后,再进行Rebalance,因此提交间隔越长,可能造成的重复消费就越多。
消费突刺:由于rebalance可能导致重复消费,如果需要重复消费的消息过多;或者因为rebalance暂停时间过长,导致积压了部分消息。那么都有可能导致在rebalance结束之后瞬间可能需要消费很多消息。

订阅消费异常:项目发布,新增了topic,一个消费组上线顺序不同,重复注册相同topic,会覆盖之前关于相同topic的订阅。以op配置为准。参考https://blog.csdn.net/a417930422/article/details/50663639

RocketMQ的Rebalance机制相关推荐

  1. 深入理解RocketMQ Rebalance机制

    本文深入的分析了RocketMQ的Rebalance机制,主要包括以下内容: Rebalance必要的元数据信息的维护 Broker协调通知机制: 消费者/启动/运行时/停止时Rebalance触发时 ...

  2. java每隔 消费队列数据_消费者Rebalance机制

    本文深入的分析了RocketMQ的Rebalance机制,主要包括以下内容:Rebalance必要的元数据信息的维护 Broker协调通知机制: 消费者/启动/运行时/停止时Rebalance触发时机 ...

  3. RocketMQ(五)-消费者启动机制、Rebalance机制

    消费者启动机制 DefaultMQPullConsumer 核心属性 核心方法 DefaultMQPushConsumer 消费者启动流程 DefaultMQPullConsumerImpl启动流程 ...

  4. RocketMQ(八)——Rebalance机制介绍

    Rebalance机制 前提:集群消费模式 介绍: Rebalance指的是:将下一个Topic的多个Queue在同一个Consumer Group中的多个Consumer间进行重新分配的过程 该机制 ...

  5. RocketMQ的Rebalance详解

    负载均衡 RocketMQ的消费负载是通过queue来对消息进行分片,然后consumer消费自己对应的queue来实现.我们以如下场景为例: topicA有两个队列:queue1和queue2. 消 ...

  6. 一文读懂RocketMQ的存储机制

    一.存储方式 业界主流的 MQ 产品像 RabbitMQ.RocketMQ.ActiveMQ.Kafka 都是支持持久化存储的,而 ZeroMQ 不需要支持持久化存储.业务系统也确实需要 MQ 支持持 ...

  7. RocketMQ:消息存储机制详解与源码解析

    文章目录 消息存储机制 1.前言 2.核心存储类:DefaultMessageStore 3.消息存储流程 4.消息存储文件 5.存储文件内存映射 5.1.MapperFileQueue 5.2.Ma ...

  8. 【Kafka】Kafka的Rebalance机制可能造成的影响及解决方案

    一.kafka的rebalance机制 在Kafka中,当有新消费者加入或者订阅的Topic数发生变化时,会触发Rebalance(再均衡:在同一个消费者组当中,分区的所有权从一个消费者转移到另外一个 ...

  9. Kafka组消费之Rebalance机制

    点击上方蓝色字体,选择"设为星标" 回复"资源"获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 暴走大数据 点击右侧关注,暴走大数据! ...

最新文章

  1. docker安装chirpstack_docker-compose快速部署ChirpStack
  2. 语音信号处理_书单 | 语音研究进阶指南
  3. node学习笔记_01 环境搭建
  4. 常用的meta标签总结
  5. opencv及相机相关6
  6. 算法的力量(李开复)
  7. Javaweb---监听器
  8. 修改jquery文件上传插件uploadify的英文为中文
  9. 设计灵感|展览海报如何编排?
  10. 测试管理和自动化测试工具篇
  11. MyBatsi-Mapper映射文件
  12. 36. LatencyTOP
  13. 一文读懂YUV的采样与格式
  14. Mediastream2 用法介绍及简明实例分析
  15. 气象基础知识matlab,气象类专业Matlab课程教学探索与思考
  16. CH3 HTML基础 1
  17. 冯东阳:知名博主博客发软文广告,你怎么看?
  18. Linux--自旋锁(介绍及API简介)
  19. Python实现文字转图片
  20. 关于if 判断中null为什写前边和在使用equals方法进行判断是为什么要 “1“.equals(str)

热门文章

  1. X86_64 CR3详解
  2. Stable diffusion中mov2mov
  3. location.href 用法详解
  4. UML中聚集(Aggregation)与组合(Composition)的区别
  5. win7制作ntp服务器,使用win7做为NTP服务器
  6. Android7.0特性及适配
  7. IPFS接口文档-原版
  8. MongoDB副本集搭建及在springboot中使用
  9. Springboot日志框架Logback的使用及配置
  10. Linux性能优化实战