Apache Kafka 教學手冊
Apache Kafka 教學手冊 版本:1.0 最後更新:2026 年 1 月 適用對象:後端工程師、系統架構師、SRE、DevOps 定位:企業內部標準教材 文件維護:內部技術團隊 使用情境:大型企業 / 銀行內部系統 最後更新: 2026年1月29日 適用於: 適用於 Kafka 3.x(含 KRaft 架構) Created by: Eric Cheng 目錄 Apache Kafka 簡介 1.1 Kafka 是什麼?解決什麼問題? 1.2 與傳統 Message Queue 的差異 1.3 適合與不適合的使用情境 Kafka 系統架構總覽 2.1 Kafka 核心元件說明 2.2 高可用(HA)與水平擴充設計原則 Kafka 安裝與部署 3.1 環境需求 3.2 單機環境安裝(KRaft 模式) 3.3 多節點叢集安裝(正式環境) 3.4 ZooKeeper 與 KRaft 架構比較 3.5 常見安裝錯誤與排除方式 Kafka 基本設定說明 4.1 Broker 重要設定參數 4.2 Topic 設計原則 4.3 Producer 重要設定 4.4 Consumer 重要設定 4.5 資料保留策略(Retention Policy) Kafka 系統使用教學 5.1 Topic 管理 5.2 Producer 發送訊息 5.3 Consumer 消費訊息 5.4 Offset 管理 5.5 訊息順序性與重複消費 Kafka 與應用系統串接方式 6.1 與 Spring Boot 整合 6.2 系統解耦架構設計 6.3 同步系統 vs 事件驅動架構 6.4 常見整合架構模式 Kafka 系統維運與監控 7.1 常見監控指標 7.2 Consumer Lag 監控與處理 7.3 系統監控設定 7.4 常見營運問題與排查 Kafka 系統升級與版本控管 8.1 升級策略(Rolling Upgrade) 8.2 升級前檢查清單 8.3 升級風險與回復機制 8.4 Client 相容性 安全性與權限控管 9.1 SSL/TLS 加密 9.2 SASL 認證 9.3 ACL 權限控管 9.4 企業安全設計建議 最佳實務與常見地雷 10.1 Topic 命名建議 10.2 Partition 設計地雷 10.3 Consumer Group 錯誤案例 10.4 真實專案常見誤用情境 10.5 最佳實務總結 檢查清單(Checklist) 11.1 新專案導入 Checklist 11.2 日常維運 Checklist 11.3 故障排除 Checklist 11.4 升級 Checklist 附錄 附錄 A:常用指令速查 附錄 B:設定參數速查 附錄 C:參考資源 1. Apache Kafka 簡介 1.1 Kafka 是什麼?解決什麼問題? Apache Kafka 是一個分散式事件串流平台(Distributed Event Streaming Platform),由 LinkedIn 於 2011 年開源,現由 Apache 軟體基金會維護。 ...