Kafka 是什麼?
此非同步 API 是使用 Apache Kafka 通訊協定進行實作。 它是設計為容錯的發佈/訂閱事件平台,提供高傳輸量和低延遲的平台來處理即時資料資訊來源。
Kafka 作為一部以上伺服器(Kafka 個分配管理系統)的叢集執行。 負載在叢集之間進行平衡,方法是在伺服器之間配送負載。
主要概念
主題
訊息串流儲存在稱為主題的種類中。 在 AsyncAPI 文件中,主題代表通道。 每個主題包含一個以上的分割區。 每一個分割區都是訊息的排序清單。 系統會為每一個分割區上的訊息指定一個單調遞增的數字,稱為偏移。
訊息/記錄
Kafka 中的資料單元,包含兩個部分:標頭和值。 標頭通常用於訊息的相關資料,而該值是訊息的主體。
生產者
此處理程序將訊息串流發佈至 Kafka 主題。 生產者可以發佈至一個以上的主題,且可以選擇性地選取儲存資料的分割區。
消費者
此處理程序消費 Kafka 個主題訊息的訊息並處理訊息的資訊來源。 消費者可以消費一個以上的主題或分割區。
消費者群組
一個以上消費者的具名群組,它們會一起消費一組主題中的訊息。 群組中的每一個消費者都會從指派給該消費者的特定分割區中讀取訊息。 每一個分割區只能指派給群組中的一個消費者。 指派是由 'client.id' 和 'group.id' 消費者內容所控制。
從此 API 消費
您將需要 Kafka 用戶端才能連接及訂閱。 Kafka 用戶端程式庫可供各種程式設計語言使用,且每個通道的範例程式碼是使用 Java Kafka 用戶端透過 Kafka 消費者來消費事件的起始點。