Kafka rebalance 触发时机

1089 发表于: 2020-04-21   最后更新时间: 2020-04-21  

当消费者组数量发生变化时候会触发consumer group rebalance

比如我现在有个group.id:test-group
我当前消费一个topic:test1,

如果我使用消费者组:test-group,再单独启动一个程序消费topic:test2 这个时候是否会触发rebalance呢?



您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容




上一条: kafka集群代理
下一条: kafka获取消费过某个topic的全部消费者组

  • 不会,test2是另外的主题,不会影响test1的。

    • 感谢回答,但是当我测试时,第一个程序消费的test1 topic,第二个消费的是test2 toipc,启动第二个时,第一个消费程序打印日志如下:

      23:04:07,379 DEBUG org.apache.kafka.clients.consumer.internals.AbstractCoordinator - [Consumer clientId=consumer-1, groupId=test-consumer] Sending JoinGroup ((type: JoinGroupRequest, groupId=test-consumer, sessionTimeout=10000, rebalanceTimeout=10000, memberId=consumer-1-ccc4eca4-04a4-4547-910f-142c58506c14, protocolType=consumer, groupProtocols=org.apache.kafka.common.requests.JoinGroupRequest$ProtocolMetadata@442675e1)) to coordinator DESKTOP-I0EG1MJ.localdomain:9092 (id: 2147483647 rack: null)
      23:04:07,379 DEBUG org.apache.kafka.clients.NetworkClient - [Consumer clientId=consumer-1, groupId=test-consumer] Sending JOIN_GROUP {group_id=test-consumer,session_timeout=10000,rebalance_timeout=10000,member_id=consumer-1-ccc4eca4-04a4-4547-910f-142c58506c14,protocol_type=consumer,group_protocols=[{protocol_name=range,protocol_metadata=java.nio.HeapByteBuffer[pos=0 lim=22 cap=22]}]} with correlation id 146 to node 2147483647
      

      在broker端也出现了Rebalance日志

        • 这个是消费者调度逻辑声明,不满足条件,不会进行rebalance的。
          你可以观察,kafka与消费者保持的是长连接,如果你新增的时候,连接的端口一直是原来的(每次建议连接端口是随机的),那说明从未平衡过。