Apache Kafka 基礎

在深入瞭解Kafka之前,您必須瞭解主題,經紀人,生產者和消費者等主要術語。 下圖說明了主要術語,表格詳細描述了圖表組件。

在上圖中,主題配置爲三個分區。 分區1具有兩個偏移因子0和1.分區2具有四個偏移因子0,1,2和3.分區3具有一個偏移因子0.副本的id與承載它的服務器的id相同。

假設,如果主題的複製因子設置爲3,那麼Kafka將創建每個分區的3個相同的副本,並將它們放在集羣中以使其可用於其所有操作。 爲了平衡集羣中的負載,每個代理都存儲一個或多個這些分區。 多個生產者和消費者可以同時發佈和檢索消息。

S.No組件和說明
1

Topics(主題)

屬於特定類別的消息流稱爲主題。 數據存儲在主題中。

主題被拆分成分區。 對於每個主題,Kafka保存一個分區的數據。 每個這樣的分區包含不可變有序序列的消息。 分區被實現爲具有相等大小的一組分段文件。

2

Partition(分區)

主題可能有許多分區,因此它可以處理任意數量的數據。

3

Partition offset(分區偏移)

每個分區消息具有稱爲 offset 的唯一序列標識。

4

Replicas of partition(分區備份)

副本只是一個分區的備份。 副本從不讀取或寫入數據。 它們用於防止數據丟失。

5

Brokers(經紀人)

  • 代理是負責維護髮布數據的簡單系統。 每個代理中的每個主題可以具有零個或多個分區。 假設,如果在一個主題和N個代理中有N個分區,每個代理將有一個分區。

  • 假設在一個主題中有N個分區並且多於N個代理(n + m),則第一個N代理將具有一個分區,並且下一個M代理將不具有用於該特定主題的任何分區。

  • 假設在一個主題中有N個分區並且小於N個代理(n-m),每個代理將在它們之間具有一個或多個分區共享。 由於代理之間的負載分佈不相等,不推薦使用此方案。

6

Kafka Cluster(Kafka集羣)

Kafka有多個代理被稱爲Kafka集羣。 可以擴展Kafka集羣,無需停機。 這些集羣用於管理消息數據的持久性和複製。

7

Producers(生產者)

生產者是發送給一個或多個Kafka主題的消息的發佈者。 生產者向Kafka經紀人發送數據。 每當生產者將消息發佈給代理時,代理只需將消息附加到最後一個段文件。 實際上,該消息將被附加到分區。 生產者還可以向他們選擇的分區發送消息。

8

Consumers(消費者)

Consumers從經紀人處讀取數據。 消費者訂閱一個或多個主題,並通過從代理中提取數據來使用已發佈的消息。

9

Leader(領導者)

 Leader 是負責給定分區的所有讀取和寫入的節點。 每個分區都有一個服務器充當Leader

10

Follower(追隨者)

跟隨領導者指令的節點被稱爲Follower。 如果領導失敗,一個追隨者將自動成爲新的領導者。 跟隨者作爲正常消費者,拉取消息並更新其自己的數據存儲。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章