> 本文解析RocketMQ负载均衡:客户端通过定时获取元数据,排序后按一致性策略自主计算分配队列。 RocketMQ 消费者端的负载均衡(Rebalance)是其核心机制之一,主要目的是将一个 Topic 下的所有 MessageQueue(消息队列) 均匀地分配给同一个 ConsumerGroup(消费者组) 下的所有 Consumer(消费者实例)。 RocketMQ 的 Rebalance 机制主要是在 客户端(Consumer 端) 完成的(在 RocketMQ 5.0 之前的 Push/Pull 模式下),这与 Kafka 的 Coordinator 机制(服务端协调)有所不同。 以下是详细的实现原理分析: --- 1. 核心概念 在集群消费模式(Clustering)下: 输入数据:Topic 下所有的 列表,以及消费者组下所有的 列表。 目标:确定当前 Consumer 实例应该负责消费哪些 。 一致性:同一个组内的所有 Consumer 必须达成一致的分配结果(即一个 Queue 只能被一个 Consumer 消费)。 2. 触发时机 Rebalance 不是实...