把本系列前面验证过的三类真实故障现象——LAG持续升高、单client延迟异常、操作短暂卡顿后自愈——整理成一份带着具体数字依据的排查路径。
排查路径 1. kafka-consumer-groups.sh --describe 确认LAG真实是持续增长还是短暂冲高 2. 持续增长 → 查consumer自己的处理速度(是否有慢查询、外部API调用) 3. 短暂冲高 → 通常是consumer刚重启在追历史数据,或者生产端突发流量
本系列《Lag 很高时,问题可能发生在哪》真实制造过这个场景:consumer处理速度只有生产速度的1/3,LAG真实在18秒内从5611涨到30398,持续不收敛——这种曲线形态本身就是诊断结论,不需要更多猜测。
排查路径 1. kafka-configs.sh --describe --entity-type clients --entity-name X 检查是否配了quota 2. 有quota → 对照《Kafka Quotas》一文,延迟暴涨(本系列真实测出33倍)是quota生效的典型特征 3. 没有quota → 继续查网络、broker负载
《Kafka Quotas》那篇真实测出配额生效后平均延迟从782毫秒暴涨到25944毫秒——如果只看到"某个client延迟特别高,其它client正常",第一反应应该是查这个client有没有被配置了quota,而不是怀疑整个集群出了问题。
排查路径 1. kafka-metadata-quorum.sh describe --status 检查controller quorum是否刚发生过切换 2. 检查是否有broker刚好挂掉——broker.session.timeout.ms默认9秒,加上客户端重试退避,端到端能拖到约11秒 3. 排除以上两点,再查网络分区或者磁盘IO异常
每一步都指向本系列前面真实跑出来的具体实验和数字。