25 kafka消费者组重平衡

触达与通知

1.位置主题&写调整复习 (TODO)

2.重平衡是通过心跳线程的心跳请求来通知的,需要重平衡则请求响应REBALANCE_IN_PROGRESS。0.10.1.0版本后心跳线程和消息消费线程分离,避免了消息消费时间长影响心跳。heartbeat.interval.ms参数控制心跳请求频率也控制重平衡频率。

消费者组状态机

1.empty状态的消费者组,才会执行过期位置删除

2.协调者通过什么判断所有消费者都已经上报了,或者说怎么知道有多少消费者客户端。如果上报信息后,消费者客户端崩溃了,这能等待下次心跳才能知道吗?

评论区回答:如果在这次 Rebalance 期间,有 消费者 超时没有上报信息,那么这个消费者会被排除在这轮 Rebalance 之外。协调者在收到第一个joingroup请求后会等一段时间。

重平衡流程

1.消费者组内每个成员都会定期汇报位移给协调者。重平衡开启,协调者会给消费者组成员一个缓冲时间上报自己的消费位移。如果没法上报唯一,就会重新消费一遍?

没提交位移就是没有消费,重平衡完成后这个分区会被可能分给其他消费者实例消费(个人理解),导致重复消费

2.消费者已经崩溃了,不会发送心跳,协调者这时候怎么做到能到session.timeout.ms感知并发起重平衡的?

每次consumer发送心跳时会顺带发送session timeout时间,这样Coordinator收到后会根据这个session timeout时间计算下次deadline时间,如果过了deadline还没有收到直接fail掉该consumer

3.再平衡前,要求在规定时间内提交位移,这个规定时间如何设置?默认值是什么?

rebalance timeout,默认是max.poll.intervals的值

https://github.com/apache/kafka/blob/2.4/clients/src/main/java/org/apache/kafka/clients/GroupRebalanceConfig.java#L53

4.使用consumer消费,发现consumer会出现commit offset failed,coordinator is not available 的错误,导致consumer卡住,无法消费。根据错误信息,是由于找不到groupcoordinator导致的,但coordinator不可用是在什么情况下发生的?

commit失败先看看是不是消息处理慢导致的吧。比如增加max.poll.interval.ms的值或降低max.poll.records的值试试看。Client端报出Coordinator不可用不一定表示Coordinator真的不可用

5.订阅主题发送变化之后触发reblance的流程是什么样子的?

consumer会定期更新元数据,如果发现了新增的订阅分区,会主动触发rebalance

6.消费者组创建的过程中,协调者何时判断所有消费者已加入,还是说它在收到第一个joingroup请求后等一段时间

嗯,是的。你的理解是对的~

\

相关推荐
Devin~Y10 小时前
电商场景下的Java面试实战:从Spring Boot微服务到Kafka、Redis与AI RAG
java·spring boot·redis·elasticsearch·spring cloud·微服务·kafka
AllData公司负责人13 小时前
数据同步平台|AIIData数据中台实现MySQL、Hive、Kafka 一键接入Doris
大数据·数据库·hive·mysql·kafka·实时同步
whaledown3 天前
互联网大厂Java求职面试三轮提问详解(涵盖Spring Boot、微服务、Kafka等核心技术)
java·jvm·数据库·spring boot·微服务·面试·kafka
梦想的颜色3 天前
【Docker部署插件】:使用 Docker 部署生产级 Kafka 完整版教程
安全·docker·中间件·kafka·消息队列·docker-compose·后端开发
考虑考虑3 天前
kafka4安装
后端·kafka·自动化运维
lzhcoder4 天前
Spring Boot 集成 Kafka:先跑通 Demo,再避开那 80% 的人踩过的坑
java·kafka
Kyrie_Li6 天前
Spring Boot Kafka 生产级配置全解析:从入门到精通
spring boot·后端·kafka
2301_801184756 天前
kafka-zookeeper
分布式·zookeeper·kafka
Devin~Y6 天前
抖音级短视频推荐与直播带货平台面试实战:从 Java 微服务到 RAG 智能客服全链路解析
java·spring boot·redis·spring cloud·kafka·agent·rag
livemetee7 天前
关于【Kafka高可用配置】
分布式·kafka