kafka java group.id_kafka 不同的consumer需要使用不同的group id

本文通过分析一个项目中两个消费者使用相同group.id导致的反复rebalance问题,揭示了Kafka消费者组的工作原理。当消费者在Zookeeper中注册时,同一group.id下的消费者会因任何成员的变动而触发rebalance,影响消费稳定性。为避免这种情况,每个消费者应设置独特的group.id。
摘要由CSDN通过智能技术生成

打算在一个项目同时使用两个consumer消费两个topic,在配置文件中配置了consumer的默认groupid,未给两个consumer指定各自的groupid,于是两个consumer都使用同一个groupid

# 指定默认消费者group id

spring.kafka.consumer.group-id=test-message-group

但在断点调试过程中发现两个consumer偶尔正常工作,偶尔却在不断的rebanlance,并且伴随着心跳发送失败。特别在频繁读取数据或者断点调试时间比较长的时候频繁出现。而在一个consumer无法成功rebanlance时,无法消费数据。

异常状态的输出日志如下,一个consumer无法完成rebanlance,另一个conumser则无法发送心跳

[Consumer clientId=consumer-1, groupId=test-message-group]Attempt to heartbeat failed since group is rebalancing[Consumer clientId=consumer-1, groupId=test-message-group]Attempt to heartbeat failed since group is rebalancing[Consumer clientId=consumer-1, groupId=test-message-group]Attempt to heartbeat failed since group is rebalancing[Consumer clientId=consumer-2, groupId=test-message-group](Re-)joining group[Consumer clientId=consumer-2, groupId=test-message-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值