1. 课程导论:Kafka堆积与Redis热Key/慢查询的关联性概述
1.1 为什么要把 Kafka 堆积和 Redis 问题放在一起排查?
在生产环境中,Kafka 消费堆积(Consumer Lag)与 Redis 热 Key / 慢查询往往不是孤立出现的。它们之间存在典型的因果联动关系:
- 消费端瓶颈传导:Kafka 消费者在处理消息时,频繁读写 Redis 中的热点数据。一旦 Redis 出现热 Key 或慢查询,消费者线程被阻塞,导致消费速率下降,Kafka 分区 Lag 持续增长。
- 堆积放大效应:Kafka 堆积使得同一批消息在短时间内集中到达,进一步加剧 Redis 的热点访问和慢查询,形成恶性循环。
- 排查盲区:传统排查往往分别看 Kafka 消费者组和 Redis 监控,缺少联动视角,导致根因定位耗时数小时甚至数天。
核心观点:Kafka 堆积是“果”,Redis 热 Key / 慢查询往往是“因”。只有将两个系统的指标关联分析,才能快速止血并根治。
1.2 典型故障链路全景图
下图展示了从 Redis 性能劣化到 Kafka 堆积的完整故障传导链路:
1.3 课程目标
通过本课程,你将掌握以下核心能力:
| 能力维度 | 具体目标 | 可交付成果 |
|---|---|---|
| 诊断 | 快速识别 Kafka 堆积是否由 Redis 性能问题引发 | 联动指标大盘 + 根因定位流程图 |
| 定位 | 精准找到热 Key 和慢查询语句 | Redis 慢日志 + hotkey 分析脚本 |
| 治理 | 制定热 Key 拆分 / 缓存策略 / 慢查询优化方案 | 可落地的代码级优化清单 |
| 防御 | 建立监控告警与自动限流机制 | Prometheus + Grafana 联动告警规则 |
1.4 学习路径与章节地图
课程共 30 章,按“基础 → 诊断 → 治理 → 实战”四阶段递进:
1.5 前置知识与环境要求
| 类别 | 要求 | 说明 |
|---|---|---|
| 知识 | Kafka 基础概念(Topic/Partition/Consumer Group) | 了解消息队列基本模型即可 |
| 知识 | Redis 基础数据结构与常用命令 | 熟悉 String/Hash/List 等类型 |
| 工具 | Docker / Docker Compose | 用于搭建本地实验环境 |
| 工具 | Python 3.8+ 或 Go 1.18+ | 编写压测与排查脚本 |
提示:课程配套提供完整的 Docker Compose 编排文件,一键启动 Kafka + Redis + 监控栈,无需手动安装。
1.6 本章小结
- Kafka 堆积与 Redis 热 Key / 慢查询存在强关联,需联动排查。
- 故障链路:热 Key → 慢查询 → 消费者阻塞 → 堆积 → 业务受损。
- 课程目标:掌握诊断、定位、治理、防御四阶段能力。
- 学习路径:基础 → 诊断 → 治理 → 实战,共 30 章。
- 前置要求:Kafka/Redis 基础 + Docker + Python/Go。