Kafka基礎架構

2022-07-10 09:15:12 字數 1576 閱讀 7774

1. kafka拓撲結構圖

2. 角色說明

a. producer

訊息生產者,發布訊息到kafka 集群的終端或服務

b. broker

節點,kafka 集群中包含的伺服器

c. topic

主題,每條發布到kafka 集群的訊息屬於的類別。生產者向kafka中生產訊息或消費者從消費者中消費訊息都是以kafka的topic為單位的。即kafka是面向topic的。

d. partition

分割槽,parition是物理上的概念,每個topic包含乙個或多個partition。kafka分配的原則是partition。partition數只能增加,不能減少。

e. consumer

訊息消費者,從kafka集群中消費訊息的終端或服務

f. consumer group

消費者組,每乙個consumer都屬於乙個consumer group。每條訊息可以被多個consumer group消費,但是每條訊息只能被consumer group中的乙個consumer消費。

即資料是組內競爭,組間共享。

g. replication

副本,為了保證資料的高可用,每乙個partition可以有多個replication。replication有leader和follower兩種角色。

h.  leader

replication的角色,每乙個partition可以有多個replication,但是只有乙個leader。producer和consumer只與角色為leader的replication互動。

i. follower

replication的角色,負責從leader中同步資料。當leader掛掉後,選出新的leader,繼續工作。

j. controller

整個kafka集群的管理者,kafka集群中的其中一台伺服器,用來進行leader選舉以及各種失敗恢復。

1》負責管理集群的broker的上下線

2》所有topic的分割槽副本分配

3》leader選舉

k. zookeeper

kafka通過zookeeper來儲存集群的元資料資訊。

3. 設計理念

a. 為了方便擴充套件並提高吞吐量,乙個topic分為多個分割槽。

b. 配合分割槽的概念提出了消費者組的概念,組內的每個消費者並行消費。消費者組內的每個消費者負責消費不同分割槽的資料,乙個分割槽只能被乙個消費者消費。

c. 為了提高高可用,每乙個分割槽增加了若干個副本。類似與hdfs的namenode的ha

Kafka基礎 Kafka架構

目錄kakfa 架構 kafka最初是由linkedin公司採用scala語言開發的乙個多分割槽 多副本並且基於zookeeper協調的分布式訊息系統,現在已經捐獻給了apache 會。目前kafka已經定位為乙個分布式流式處理平台,它以 高吞吐 可持久化 可水平擴充套件 支援流處理等多種特性而被廣...

Kafka 基礎架構

1 producer 訊息生產者,就是向 kafka broker 發訊息的客戶端 2 consumer 訊息消費者,向 kafka broker 取訊息的客戶端 3 consumer group cg 消費者組,由多個 consumer 組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割...

Kafka基礎架構

1 producer 訊息生產者,就是向 kafka broker 發訊息的客戶端 2 consumer 訊息消費者,向 kafka broker 取訊息的客戶端 3 consumer group cg 消費者組,由多個 consumer 組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割...