🎯 課程目標__HTMLTAG_68___
- ✅ 了解 Kafka 架構:代理、主題、分區、消費者群組
- ✅ 使用 Strimzi 部署 Kafka 3 節點叢集(KRaft 模式)
- ✅ 設定主題、複製、保留
- ✅ 部署架構登錄檔以實現架構演進
- ✅ 使用 JMX 指標 + Prometheus 監控 Kafka 群集
- ✅ 最佳實踐:分區策略、消費者滯後、恰好一次
第 1 部分:APACHE KAFKA 架構
程式碼區塊_0
___HTMLTAG_89__HTMLTAG_90___功能___HTMLTAG_91__HTMLTAG_92___Kafka___HTMLTAG_93__HTMLTAG_94___RabbitMQ___HTMLTAG_95__HTMLTAG_96___ ___HTMLTAG_99__HTMLTAG_100___吞吐量___HTMLTAG_101__HTMLTAG_102___數百萬個訊息/秒___HTMLTAG_103__HTMLTAG_104___數萬___HTMLTAG_105__HTMLTAG_106___ ___HTMLTAG_107__HTMLTAG_108___訊息模型___HTMLTAG_109__HTMLTAG_110___拉動(消費者民意調查)___HTMLTAG_111__HTMLTAG_112___推(經紀人交付)___HTMLTAG_113__HTMLTAG_114___ ___HTMLTAG_115__HTMLTAG_116___排序____HTMLTAG_117__HTMLTAG_118___每個分區___HTMLTAG_119__HTMLTAG_120___每個佇列 (FIFO)___HTMLTAG_121__HTMLTAG_122___ ___HTMLTAG_123__HTMLTAG_124___保留___HTMLTAG_125__HTMLTAG_126___基於時間/大小(天/週)___HTMLTAG_127__HTMLTAG_128___直到消耗___HTMLTAG_129__HTMLTAG_130___ ___HTMLTAG_131__HTMLTAG_132___重播___HTMLTAG_133__HTMLTAG_134___是(偏移搜尋)___HTMLTAG_135__HTMLTAG_136___否(確認後刪除訊息)___HTMLTAG_137__HTMLTAG_138___ ___HTMLTAG_139__HTMLTAG_140___用例___HTMLTAG_141__HTMLTAG_142___事件流、CDC、日誌___HTMLTAG_143__HTMLTAG_144___任務佇列、RPC、路由___HTMLTAG_145__HTMLTAG_146___任務佇列、RPC、路由___HTMLTAG_145__HTMLTAG_146___ ___HTMLTAG_147__HTMLTAG_148___協定____HTMLTAG_149__HTMLTAG_150___Kafka二進位協定____HTMLTAG_151__HTMLTAG_152___AMQP 0.9.1___HTMLTAG_15314MLTAG_15314ML第 2 部分:安裝 STRIMZI 運算子
程式碼區塊_1
第 3 部分:部署 KAFKA 叢集(KRaft 模式)
3.1。卡夫卡 CRD
___程式碼區塊_2___3.2。 JMX 指標設定映射
___程式碼區塊_3___程式碼區塊_4
第 4 部分:主題管理
4.1。 Kafka主題 CRD
___程式碼區塊_5___程式碼區塊_6
第 5 部分:KAFKA 使用者和 ACL
程式碼區塊_7
第 6 部分:生產與消費測試
程式碼區塊_8
第 7 部分:架構註冊表
程式碼區塊_9
第 8 部分:監控 KAFKA
程式碼區塊_10
程式碼區塊_11
💡 重點
-
___HTMLTAG_189__HTMLTAG_190___Strimzi Operator:在 K8s 上運行 Kafka 的最佳方式,全生命週期管理
___HTMLTAG_193__HTMLTAG_194___KRaft模式:無ZooKeeper依賴,更簡單的架構
___HTMLTAG_197__HTMLTAG_198___複製因子 3,min.insync.replicas 2:容忍 1 個代理故障
___HTMLTAG_201__HTMLTAG_202___分區策略:基於鍵的排序分區,分區增加吞吐量
___HTMLTAG_205__HTMLTAG_206___消費者群體:並行處理,嚴密監控滯後
___HTMLTAG_209__HTMLTAG_210___架構註冊表:強制架構演變,防止重大變更
🎯 練習
練習 1:Kafka HA 實驗室
- 使用 KRaft 部署 3 節點 Kafka 叢集
- 建立具有 6 個分區的主題,RF=3
- 產生 100,000 則訊息,殺死 1 個經紀人
- 驗證沒有資料遺失,消費者趕上__HTMLTAG_227___
練習 2:效能基準
- 以不同的批次大小執行 kafka- Producer-perf-test.sh
- 測量吞吐量:訊息/秒、MB/秒
- 比較壓縮:無、lz4、snappy、zstd
📚 下一篇文章
在第23課:Redis HA — 哨兵和叢集模式中,我們將部署Redis用於快取和即時資料。