Kafka专栏
Java 开发者 Kafka 系统学习路线
📅 整理时间:2026-02-26
🎯 适用人群:有 Java 基础,希望系统掌握 Kafka 的开发者
⏱️ 预计总学习时间:8 周(可根据基础调整)
🗺️ 学习路线全景图
graph TD
Start([Java开发者]) --> A
subgraph 阶段一["🌱 阶段一:基础入门(第1周)"]
A[核心概念与架构] --> B[快速上手 & Java示例]
B --> C[核心配置参数详解]
end
subgraph 阶段二["⚙️ 阶段二:核心机制(第2-3周)"]
D[为什么那么快?✅] --> E[生产者深度解析]
E --> F[消费者深度解析]
F --> G[ISR机制与Leader选举✅]
G --> H[消费者Rebalance机制✅]
end
subgraph 阶段三["🔬 阶段三:高级特性(第4-5周)"]
I[消息可靠性与事务] --> J[消息积压与性能调优]
J --> K[Streams流处理入门]
end
subgraph 阶段四["🚀 阶段四:实战应用(第6-7周)"]
L[SpringBoot集成最佳实践] --> M[微服务事件驱动架构]
end
subgraph 阶段五["🏆 阶段五:面试冲刺(第8周)"]
N[高频50问全解]
end
C --> D
H --> I
K --> L
M --> N
style 阶段一 fill:#e8f5e9,stroke:#4caf50
style 阶段二 fill:#e3f2fd,stroke:#2196f3
style 阶段三 fill:#fff3e0,stroke:#ff9800
style 阶段四 fill:#fce4ec,stroke:#e91e63
style 阶段五 fill:#f3e5f5,stroke:#9c27b0
📚 文章目录(按阶段)
🌱 阶段一:基础入门
| 序号 | 文章标题 | 核心内容 | 状态 |
|---|---|---|---|
| 01 | Kafka入门-01-核心概念与架构 | Topic/Partition/Broker/Producer/Consumer,与RabbitMQ/RocketMQ对比,整体架构图 | ✅ |
| 02 | Kafka入门-02-快速上手与Java示例 | Docker启动Kafka,原生Java API,Spring Boot集成 | ✅ |
| 03 | Kafka入门-03-核心配置参数详解 | Producer/Consumer/Broker三端核心配置参数全解 | ✅ |
⚙️ 阶段二:核心机制
| 序号 | 文章标题 | 核心内容 | 状态 |
|---|---|---|---|
| 04 | Kafka为什么那么快? | 顺序写/PageCache/零拷贝/批量发送/Reactor模型 | ✅ |
| 05 | Kafka核心-生产者深度解析 | 消息发送全链路,分区策略,消息压缩,幂等生产者 | ✅ |
| 06 | Kafka核心-消费者深度解析 | Consumer Group,offset提交,消费语义,拉取流程 | ✅ |
| 07 | Kafka-ISR机制与Leader选举 | HW/LEO,Leader选举,Leader Epoch,数据不丢失保证 | ✅ |
| 08 | Kafka-消费者Rebalance机制 | Rebalance触发条件,协议流程,避免策略 | ✅ |
🔬 阶段三:高级特性
| 序号 | 文章标题 | 核心内容 | 状态 |
|---|---|---|---|
| 09 | Kafka高级-消息可靠性与事务 | 三端丢失分析,幂等Producer,事务API,EOS语义 | ✅ |
| 10 | Kafka高级-消息积压与性能调优 | 积压排查,快速扩容,三端调优参数 | ✅ |
| 11 | Kafka高级-Streams流处理入门 | KStream/KTable,WordCount实战,有状态计算 | ✅ |
🚀 阶段四:实战应用
| 序号 | 文章标题 | 核心内容 | 状态 |
|---|---|---|---|
| 12 | Kafka实战-SpringBoot集成最佳实践 | spring-kafka配置,死信队列,消息序列化 | ✅ |
| 13 | Kafka实战-微服务事件驱动架构 | Outbox Pattern,Saga模式,订单系统实战 | ✅ |
🏆 阶段五:面试冲刺
| 序号 | 文章标题 | 核心内容 | 状态 |
|---|---|---|---|
| 14 | Kafka面试题-高频50问全解 | 基础/性能/可靠性/消费者/实战 五大类50道面试题 | ✅ |
🎯 各阶段学习重点与建议
阶段一:基础入门(第1周)
目标:搞清楚"Kafka 是什么、能干什么、怎么用"
学习建议:
- 🔑 重点理解 Topic-Partition-Offset 三者关系,这是一切的基础
- 💻 一定要动手跑代码,不跑代码看再多也是白搭
- 📌 配置参数先记住最常用的 5 个,其余遇到再查
入门配置(开发环境最低要求):
# docker-compose.yml(最简启动)
kafka: kafkaImage最新版本
zookeeper: confluentinc/cp-zookeeper
阶段二:核心机制(第2-3周)
目标:理解 Kafka 如何保证高性能、高可靠
学习建议:
- 🔑 生产者:重点掌握 acks 配置与消息丢失的关系
- 🔑 消费者:重点掌握 offset 提交时机与重复消费的关系
- 🔑 ISR:理解 HW 和 LEO 的移动规则
- ⚠️ 注意:Rebalance 是消费者最常见的生产问题,务必掌握规避方案
阶段三:高级特性(第4-5周)
目标:掌握 Kafka 在生产环境中保证数据正确性的手段
学习建议:
- 🔑 消息可靠性:三端(Producer/Broker/Consumer)逐一排查丢失场景
- 🔑 消息积压:掌握监控指标
consumer_lag,会快速扩容 - 💡 Streams 流处理根据实际需要学习,不是所有场景都需要
阶段四:实战应用(第6-7周)
目标:在真实项目中正确地使用 Kafka
学习建议:
- 🔑 Spring Boot 集成是日常开发必须掌握的
- 🔑 Outbox Pattern 是微服务场景中数据一致性的重要解决方案
- 💡 实战项目推荐:用 Kafka 改造一个已有的同步调用接口为异步事件
阶段五:面试冲刺(第8周)
目标:面试中能自信、有条理地回答各类 Kafka 问题
答题技巧:
- 先说结论,再解释原理
- 给出对比(如 acks=0/1/-1 三种模式对比)
- 结合实际,说出自己踩过的坑或用过的方案
📈 知识体系思维导图
mindmap
root((Kafka))
基础概念
Topic
Partition
Broker
Producer
Consumer
Offset
存储机制
顺序写磁盘
PageCache
稀疏索引
日志分段
网络模型
Reactor模式
Acceptor
Processor
Handler
生产者
消息发送流程
分区策略
批量发送
消息压缩
幂等性
消费者
Consumer Group
Offset提交
Rebalance
消费语义
可靠性
副本机制
ISR
HW与LEO
Leader选举
事务
实战
Spring Boot集成
消息积压处理
死信队列
事件驱动架构
🔖 推荐学习资源
| 资源 | 说明 | 推荐指数 |
|---|---|---|
| Apache Kafka 官方文档 | 最权威,概念定义以此为准 | ⭐⭐⭐⭐⭐ |
| 《Kafka 权威指南》 | 最系统的书,适合深入学习 | ⭐⭐⭐⭐⭐ |
| 《深入理解 Kafka》朱忠华 | 国内作者,适合中文读者 | ⭐⭐⭐⭐ |
| Confluent 博客 | 官方高质量技术博客 | ⭐⭐⭐⭐ |
| GitHub kafka-clients | 源码学习 | ⭐⭐⭐ |
💡 学习心法:Kafka 的知识点有很强的关联性,建议按顺序学习,不要跳跃。每学完一个阶段,回头画一遍思维导图,加深理解。


💬 文章评论 (0)