上次更新時間:2026 年 6 月 12 日
Apache Kafka 是熱門的開放原始碼事件串流平台,用於收集、處理及儲存連續的事件串流。Kafka 通常是做為訊息中介軟體,但也具備擴充性和備援能力,可讓分散式應用程式處理單一事件 (每天) 到數十億個事件 (每秒)。有別於傳統訊息系統,Kafka 也是持久儲存空間,可將記錄儲存在有序的記錄檔中,並以可重現的方式讀取和重新讀取。因此,Kafka 是將變更分配至交易資料庫的常用系統,可用於在數據分析和其他系統中重建或實現資料。這種模式有時稱為事件溯源。
因此,Kafka 對於傳統事件匯流排模式 (透過訊息中介軟體整合事件導向應用程式),以及資料聯合發布 (或「異質具體化」) 架構都非常重要。這種做法延遲時間短,且符合成本效益。
歡迎瞭解 Google Cloud Managed Service for Apache Kafka,自動串流基礎架構,加速「從資料到 AI」工作流程。
Kafka 會取用串流資料並準確記錄發生了什麼以及何時發生,這項記錄稱為僅附加的記錄。這是不可變的內容,因為只能附加而不能更改。接著,應用程式可即時訂閱記錄、存取資料,或發布記錄、新增資料。
雖然「Kafka」的核心通常是指低延遲儲存系統,但這個串流平台還包含其他重要元件。首先是 Kafka Connect,這項整合系統可讓連接器水平擴充,並連至多個重要系統。這包括變更資料擷取 (CDC) 連接器、叢集對叢集複寫 (MirrorMaker),以及將資料寫入下游系統 (例如湖倉 (Apache Iceberg))、湖泊 (物件儲存空間中的 Avro 或 Parquet 檔案) 和資料庫 (例如 BigQuery) 的功能。其次,Kafka 專案隨附一組強大的用戶端,包括用於操控叢集和主題的管理指令列用戶端,以及用於讀取和寫入資料的高效能用戶端程式庫。
過去,資料處理通常是透過週期性的批次工作進行,也就是會先儲存原始資料,之後每隔一段時間再處理。舉例來說,零售公司可能會等到一天結束時才分析銷售資料。批次處理有其侷限性,其中一個就是無法即時處理。越來越多組織和資料科學家希望在資料生成時就即時分析,以便及時做出業務決策,並為即時 AI 模型提供資料。這時事件串流就可以派上用場。事件串流會即時處理持續湧進的事件串流。這項技術可擷取資料的時間值並啟用推送式應用程式,只要發生需要關注的事情,推送式應用程式就會採取行動。對資料科學家來說,這代表他們能即時進行特徵工程,並提供低延遲的預測結果。
雖然許多組織都著重於資料科學家產生的下游洞察資訊,但 Apache Kafka 的主要使用者是資料工程師。這些專業人員負責建構重要的「資料管道」和整合機制,連結公司的應用程式和資料庫。
資料工程師會使用 Kafka 在技術堆疊中建立可靠的連線,整合方式如下:
在一般企業中,資料工程師會與應用程式團隊密切合作,確保使用者事件、業務交易和資料庫更新項目匯出至 Kafka。這個程序稱為資料聯合發布,可讓組織中的多位使用者和系統同時存取這些事件。
就資料科學和 AI 而言,Kafka 的價值主要在於資料存取。Kafka 是應用程式記錄和資料庫變更的完整來源。雖然 Kafka 以速度快聞名,但對大多數資料科學工作流程來說,資料來源的廣度和可靠性遠比低延遲傳送更重要。
AI 系統在推論期間會使用高品質的訓練資料和脈絡。Kafka 通常是收集訓練資料的關鍵,可從各種來源系統 (包括互動記錄和資料庫變更) 收集資料。許多組織會將其做為事件匯流排,匯總多項服務的事件,或單純做為應用程式記錄的暫存位置。因此,Kafka 自然成為生成訓練資料集的單一來源。由於 Kafka 會依序儲存記錄,因此特別適合負責處理序列的 LLM。
Kafka 是許多線上推論工作不可或缺的工具。應用程式或代理能否提供相關的產品推薦、搜尋回覆或提示詞,取決於是否掌握使用者的最新背景資訊。Kafka 支援低延遲且可擴充的通訊,因此推論系統能在數十毫秒內,使用最新事件更新使用者的背景資訊。舉例來說,如果使用者在音樂應用程式中拒絕最新的歌曲推薦,或是金融應用程式中的股票價格變動,推薦服務可以立即生成更好的建議,並將這些輸入內容納入考量。
開放原始碼生態系統
Kafka 的原始碼可免費取得,全球社群也提供各種連接器、監控工具和外掛程式。
擴充性與速度
Kafka 是分散式平台,可將處理程序分散在多台機器之間進行,因此能調度資源來處理大量資料,同時維持毫秒以下的延遲時間。
高可用性
Kafka 採用分散式架構,即使個別機器故障,仍能維持可靠性,因此適合用於對業務至關重要的應用程式
眾所皆知,設定地端部署 Kafka 叢集非常困難,團隊必須佈建機器、管理安全性及處理例行修補作業。有了代管服務,供應商會負責處理基礎架構,讓您專心建構應用程式。這對資料科學團隊特別有益,因為他們可以專注於模型開發和深入分析,不必費心管理基礎架構。
Kafka 透過四項核心功能實現串流事件處理: