這是一個使用 ChatGpt 來教我怎麼認識及部屬 Kafka的筆記,在下對於kafka的認知程度大概是只知道這是啥但沒碰過,如果有跟我一樣程度的大大們也能參考這篇筆記。
Kafka 是一個由 Apache 開發的分散式事件流平台,廣泛用於即時資料流處理和高效能的資料傳輸。以下是 Kafka 的核心概念和特性:
- 消息系統:Kafka 是一種分散式的消息系統,支持發布(publish)和訂閱(subscribe)消息,常用於數據的即時流處理。
- 分區(Partition)和容錯性:消息被分成多個分區儲存,允許橫向擴展來處理大規模資料。分區複製增加了容錯性,即便某個節點失效,其他複製節點仍可提供資料。
- 高效能:Kafka 使用順序寫入和磁碟存儲結構來提供高吞吐量,適合高頻交易和資料流的大數據處理。
- 消費者群組(Consumer Group):多個消費者可以組成群組,共享讀取相同主題的不同分區的訊息,使得訊息能夠被平行處理,達到橫向擴展的效果。
- 持久性:Kafka 可以將消息持久儲存在磁碟上,用戶可以配置消息的保留時間,因此即使消費者延遲也不會丟失消息。
- 流處理(Stream Processing):Kafka 提供 Kafka Streams API,支持將數據流作為實時的可持久查詢的數據源,允許進行資料的過濾、聚合和轉換。