#kafka

worker 無狀態,狀態全存回 Kafka Connector(一份 config)→ 拆成 N 個 task Worker 1(無狀態・可拋) task-1task-2 Worker 2(無狀態・可拋) task-3task-4 狀態存回 Kafka Kafka 叢集(Connect 的 state store) configsoffsetsstatus worker 掛 → task rebalance 到別台,一則不丟(狀態在 Kafka);命門 = Kafka 本身

Kafka Connect:連接器的執行時

· tech · 約 5 分鐘 · 📚 從 Infra 角度看資料工具 #8

收尾 stateless 這一批的最後一個:Kafka Connect。它是一套專門在 Kafka 與外部系統(資料庫、S3、Elasticsearch)之間搬資料的框架——你不用每次都手寫消費者/生…

#infrastructure#kafka

磁碟為王:資料就躺在 broker 磁碟上 Producer Broker 1P0 · leaderappend logon disk Broker 2P0 · followerappend logon disk Broker 3P0 · followerappend logon disk replicate → ISR(3 副本) 瓶頸是磁碟(throughput + 容量),不是 CPU / 記憶體 Kafka 靠 sequential 順序寫 + page cache + zero-copy,讓「磁碟」也能跑很快

Kafka:磁碟為王的有狀態叢集

· tech · 約 4 分鐘 · 📚 從 Infra 角度看資料工具 #3

進入有狀態的重量級,第一個是 Kafka。用體檢表看它,一切都從第②題「狀態」展開——Kafka 的資料(那條可重播的 log)不是抽象概念,它實實在在躺在 broker 的磁碟上。這一個事實,決定了…

#infrastructure#kafka

壓縮前 k1:a k2:x k1:b k3:p k2:y k1:c cleaner:每個 key 留最後一筆 壓縮後 k3:p k2:y k1:c

Kafka 維運與部署:KRaft、retention/compaction 與監控

· tech · 約 7 分鐘 · 📚 Kafka 學習筆記 #5

前四篇講的是「Kafka 怎麼用」—— 可重播的 log、核心模型、投遞保證、生態系。這篇收尾,換個視角:當 Kafka 真的上線、要長期穩定跑,維運面得懂哪些事?四塊 —— KRaft(叢集怎麼管自…

#kafka#data-engineering#operations

Kafka topics / log MySQL / API 來源系統 DW / ES / S3 下游系統 Connect source Connect sink Schema Registry Kafka Streams 讀 → 運算 → 寫回

Kafka 生態系:Connect、Schema Registry 與 Streams

· tech · 約 8 分鐘 · 📚 Kafka 學習筆記 #4

前三篇都在講 Kafka broker 本身 —— 可重播的 log、核心模型、投遞保證。但真實世界裡你幾乎不會「只用 broker」:資料要從別的系統搬進來、事件的長相要有人管、流上還得做轉換與聚合…

#kafka#data-engineering#stream-processing

Producer acks? Broker 複本 / ISR Consumer commit 時機 ① 丟失 / 重複 ② 機器掛了會不會丟 ③ 重做 / 跳過

Kafka 的投遞保證:acks、ISR 與 at-least-once / exactly-once

· tech · 約 8 分鐘 · 📚 Kafka 學習筆記 #3

第二篇講完事件「怎麼擺、誰來讀」,留了一個更尖銳的問題:崩潰重啟後,一筆事件到底會被重複處理、還是漏掉?這篇把 Kafka 的可靠性講透 —— acks、複本與 ISR、commit 時機,以及 at…

#kafka#data-engineering#reliability