●章初識Kafka
1.1基本概念
1.2安裝與配置
1.3生產與消費
1.4服務端參數配置
1.5總結
第2章生產者
2.1客戶端開發
2.1.1必要的參數配置
2.1.2消息的發送
2.1.3序列化
2.1.4分區器
2.1.5生產者
2.2原理分析
2.2.1整體架構
2.數據的更新
2.3重要的生產者參數
2.4總結
第3章消費者
3.1消費者與消費組
3.2客戶端開發
3.2.1必要的參數配置
3.2.2訂閱主題與分區
3.2.3反序列化
3.2.4消息消費
3.2.5位移提交
3.2.6控制或關閉消費
3.2.7指定位移消費
3.2.8再均衡
3.2.9消費者
3.2.10多線程實現
3.2.11重要的消費者參數
3.3總結
第4章主題與分區
4.1主題的管理
4.1.1創建主題
4.1.2分區副本的分配
4.1.3查看主題
4.1.4修改主題
4.1.5配置管理
4.1.6主題端參數
4.1.7刪除主題
4.2初識KafkaAdminClient
4.2.1基本使用
4.2.2主題合法性驗證
4.3分區的管理
4.3.1優先副本的選舉
4.3.2分區重分配
4.3.3復制限流
4.3.4修改副本因子
4.4如何選擇合適的分區數
4.4.1性能測試工具
4.4.2分區數越多吞吐量就越高嗎
4.4.3分區數的上限
4.4.4考量因素
4.5總結
第5章日志存儲
5.1文件目錄布局
5.2日志格式的演變
5.2.1v0版本
5.2.2v1版本
5.2.3消息壓縮
5.2.4變長字段
5.2.5v2版本
5.3日志索引
5.3.1偏移量索引
5.3.2時間戳索引
5.4日志清理
5.4.1日志刪除
5.4.2日志壓縮
5.5磁盤存儲
5.5.1頁緩存
5.5.2磁盤I/O流程
5.5.3零拷貝
5.6總結
第6章深入服務端
6.1協議設計
6.2時間輪
6.3延時操作
6.4控制器
6.4.1控制器的選舉及異常恢復
6.4.2優雅關閉
6.4.3分區leader的選舉
6.5參數解密
6.5.1broker.id
6.5.2bootstrap.servers
6.5.3服務端參數列表
6.6總結
第7章深入客戶端
7.1分區分配策略
7.1.1RangeAssignor分配策略
7.1.2RoundRobinAssignor分配策略
7.1.3StickyAssignor分配策略
7.1.4自定義分區分配策略
7.2消費者協調器和組協調器
7.2.1舊版消費者客戶端的問題
7.2.2再均衡的原理
7.3__consumer_offsets剖析
7.4事務
7.4.1消息傳輸保障
7.4.2冪等
7.4.3事務
7.5總結
第8章可靠性探究
8.1副本剖析
8.1.1失效副本
8.1.2ISR的伸縮
8.1.3LEO與HW
8.1.4Leader Epoch的介入
8.1.5為什麼不支持讀寫分離
8.2日志同步機制
8.3可靠性分析
8.4總結
第9章Kafka應用
9.1命令行工具
9.1.1消費組管理
9.1.2消費位移管理
9.1.3手動刪除消息
9.2Kafka Connect
9.2.1獨立模式
9.2.2REST API
9.2.3分布式模式
9.3Kafka Mirror Maker
9.4Kafka Streams
9.5總結
0章Kafka監控
10.1監控數據的來源
10.1.1OneMinuteRate
10.1.2獲取監控指標
10.2消費滯後
10.3同步失效分區
10.4監控指標說明
10.5監控模塊
10.6總結
1章不錯應用
11.1過期時間(TTL)
11.2延時隊列
11.3死信隊列和重試隊列
11.4消息路由
11.5消息軌跡
11.6消息審計
11.7消息代理
11.7.1快速入門
11.7.2REST API介紹及示例
11.7.3服務端配置及部署
11.7.4應用思考
11.8消息中間件選型
11.8.1各類消息中間件簡述
11.8.2選型要點概述
11.8.3消息中間件選型誤區探討
11.9總結
2章Kafka與Spark的集成
12.1Spark的安裝及簡單應用
12.2Spark編程模型
12.3Spark的運行結構
12.4Spark Streaming簡介
12.5Kafka與Spark Streaming的整合
12.6Spark SQL
12.7Structured Streaming
12.8Kafka與Structured Streaming的整合
12.9總結
附錄AKafka源碼環境搭建