kafka-consumer-groups.sh --bootstrap-server broker:9092 \ --describe --group stat-realtime # 重点看 LAG 和 CONSUMER-ID 是否为空
实时看板在线人数显示 0,持续了四十分钟,埋点接口本身返回 200,Kafka 里那个 topic 的 lag 从 200 涨到 40 万。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:消费组里两个实例有一个卡在 rebalance,分区没人消费,数据堆在 broker 上。看板读的是聚合后的结果表,自然一直是旧值。
「Kafka 消费延迟」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。同一份配置存在多处的,先确认改的是被加载的那一份。
新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
处理上按这个顺序:先看消费组的 lag 和分区分配,确认是不是有实例掉线;重启卡住的实例,观察 lag 是否开始下降;给 lag 设阈值告警,别等看板归零才发现;消费逻辑加幂等,补数据时不会重复计数。
确认没问题再收工,lag 在十分钟内降到 1000 以下,看板在线人数恢复到正常区间。
