- Apache Kafka 教程
- Apache Kafka - 首頁
- Apache Kafka - 簡介
- Apache Kafka - 基礎知識
- Apache Kafka - 叢集架構
- Apache Kafka - 工作流程
- Apache Kafka - 安裝步驟
- Apache Kafka - 基本操作
- 簡單的生產者示例
- 消費者組示例
- 與 Storm 整合
- 與 Spark 整合
- 即時應用(Twitter)
- Apache Kafka - 工具
- Apache Kafka - 應用
- Apache Kafka 有用資源
- Apache Kafka - 快速指南
- Apache Kafka - 有用資源
- Apache Kafka - 討論
Apache Kafka - 基礎知識
在深入研究 Kafka 之前,您必須瞭解主要術語,例如主題、代理、生產者和消費者。下圖說明了主要術語,表格詳細描述了圖表的組成部分。
在上圖中,一個主題被配置為三個分割槽。分割槽 1 有兩個偏移量因子 0 和 1。分割槽 2 有四個偏移量因子 0、1、2 和 3。分割槽 3 有一個偏移量因子 0。副本的 ID 與託管它的伺服器的 ID 相同。
假設主題的複製因子設定為 3,則 Kafka 將建立每個分割槽的 3 個相同副本並將它們放置在叢集中,以使其可用於所有操作。為了平衡叢集中的負載,每個代理儲存一個或多個這些分割槽。多個生產者和消費者可以同時釋出和檢索訊息。
| 序號 | 元件和描述 |
|---|---|
| 1 | 主題 (Topics) 屬於特定類別的一系列訊息稱為主題。資料儲存在主題中。 主題被分成分割槽。對於每個主題,Kafka 保持至少一個分割槽。每個這樣的分割槽都包含按不可變順序排列的訊息。分割槽實現為一組大小相等的段檔案。 |
| 2 | 分割槽 (Partition) 主題可能有多個分割槽,因此它可以處理任意數量的資料。 |
| 3 |
分割槽偏移量 (Partition offset) 每個分割槽訊息都有一個唯一的序列 ID,稱為 |
| 4 |
分割槽的副本 (Replicas of partition) 副本不過是分割槽的 |
| 5 |
代理 (Brokers)
|
| 6 |
Kafka 叢集 (Kafka Cluster) 擁有多個代理的 Kafka 稱為 Kafka 叢集。Kafka 叢集可以在不停機的情況下擴充套件。這些叢集用於管理訊息資料的永續性和複製。 |
| 7 |
生產者 (Producers) 生產者是向一個或多個 Kafka 主題釋出訊息的釋出者。生產者將資料傳送到 Kafka 代理。每次生產者向代理釋出訊息時,代理都會簡單地將訊息追加到最後一個段檔案中。實際上,訊息將被追加到分割槽中。生產者還可以將訊息傳送到他們選擇的特定分割槽。 |
| 8 |
消費者 (Consumers) 消費者從代理讀取資料。消費者訂閱一個或多個主題,並透過從代理提取資料來使用已釋出的訊息。 |
| 9 |
領導者 (Leader)
|
| 10 |
跟隨者 (Follower) 遵循領導者指令的節點稱為跟隨者。如果領導者失敗,則其中一個跟隨者將自動成為新的領導者。跟隨者充當普通消費者,拉取訊息並更新其自身的資料儲存。 |