当消费者组数量发生变化时候会触发consumer group rebalance 比如我现在有个group.id:test-group我当前消费一个topic:test1, 如果我使用消费者组:test-group,再单独启动一个程序消费topic:test2 这个时候是否会触发rebalance呢?
不会,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与消费者保持的是长连接,如果你新增的时候,连接的端口一直是原来的(每次建议连接端口是随机的),那说明从未平衡过。
你的答案