Kafka 0.9+ 如何选择代理作为新消费者组的偏移量管理器(或组协调器)?

How Kafka 0.9+ selects a broker to be the offset manager (or group coordinator) for a new consumer group?

Kafka 0.9+ select 一个broker如何成为一个新的消费者组的offset manager或group coordinator?它是否跟踪每个代理管理的组数并尝试负载平衡,将新组分配给管理最少组数的代理?它是否考虑了每个组中的消费者数量,以便每个代理的连接数量也平衡?

目前遵循以下规则:

  1. 通过计算确定组的目标分区:

Math.abs(groupID.hashCode()) % numPartitionsOfGroupMetadataTopic

默认情况下,numPartitionsOfGroupMetadataTopic__consumer_offsets 主题,默认分区数为 50)

  1. 找出该分区的领导代理,并将该代理指定为该组的协调器。