中級還沒有評分
訊息佇列與 Kafka:從原理到面試
從為什麼要用訊息佇列學到 Kafka 的分區、消費者群組、副本、不丟不重與順序,用電商下單後的事件流貫穿全課,準備好面試會追問的原理。
9 章・52 單元・約 10 小時 48 分鐘
課程介紹
這門課先講訊息佇列解決什麼問題、要付出什麼代價,再一路學到 Kafka 的分區與 key、生產者與消費者、副本與 ISR、不丟訊息、不重複消費、順序、為什麼快,最後是積壓、重試、延遲訊息、Outbox 這些實戰問題,以及 Kafka 跟 RabbitMQ、RocketMQ 怎麼選。 全課用同一個情境:一家網路商店下單之後的事件流。訂單、付款、庫存各是一個 topic,下游有庫存、通知、對帳三個服務各自讀。每段指令後面就是實際執行的結果,讀課文就看得懂;想動手的話,第一章會教你在自己電腦用 Docker 跑起 Kafka 跟著做。 每個單元還有「面試這樣答」,把觀念整理成面試時可以直接講的回答。
用哪個版本
原理先教、不以版本為主軸:分區、副本、ISR、消費者群組這些觀念,新舊版本都一樣。課文的指令與結果在 Kafka 4.3 實際跑過,用的是現在的 KRaft 架構(不需要 ZooKeeper)。真正重要的版本變化,例如 ZooKeeper 換成 KRaft、新的消費者群組協定、讓 Kafka 也能當佇列用的 share group,集中在最後一章講。
你會學到
- 說清楚訊息佇列解決什麼問題、帶來什麼代價,什麼時候不該用
- 依需求設計 topic、分區數與 key,知道順序與熱分區的取捨
- 看懂生產者的 acks、重試、冪等,以及消費者群組、offset 提交與 rebalance
- 說得出副本、ISR、HW 與 leader 選舉怎麼讓 Kafka 不丟資料
- 處理不丟訊息、不重複消費、順序、積壓、重試與延遲訊息這些實戰問題
- 比較 Kafka、RabbitMQ、RocketMQ,在系統設計面試裡用對 Kafka
學習地圖
期末考
通過期末考,才算讀完整門課。
- 題數
- 30 題
- 及格分數
- 80 分
- 限時
- 不限時
- 沒過後要等
- 24 小時