Kafka基礎架構

2021-10-18 10:45:11 字數 1552 閱讀 2628

1)producer:訊息生產者,就是向kafka broker發訊息的客戶端;

2)consumer:訊息消費者,向kafka broker取訊息的客戶端;

3)consumer group (cg):消費者組,由多個consumer組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割槽只能由乙個組內  消費者消費;消費者組之間互不影響。所有的消費者都屬於某個消費者組,即消費者組是邏輯上的乙個訂閱者。

4)broker:一台kafka伺服器就是乙個broker。乙個集群由多個broker組成。乙個broker可以容納多個topic。

5)topic:可以理解為資料庫中的一張表,生產者和消費者面向的都是乙個topic;

6)partition:乙個topic可以分為多個partition(可以理解為hbase中的region),每個partition是乙個有序的佇列。(分割槽的好處是實現topic的負載均衡,對消費者可以提高併發度,提高效率);

7)replica:乙個topic的每個分割槽都有若干個副本,乙個leader和若干個follower(replica 副本數目不能大於 broker 節點的數目,否則報錯)。

8)leader:每個分割槽多個副本的「主」,生產者傳送資料的物件,以及消費者消費資料的物件都是leader(負責讀寫)。

9)follower:每個分割槽多個副本中的「從」,實時從leader中同步資料,保持和leader資料的同步。leader發生故障時,某個follower會成為新的leader(只負責備份)。

10)offset:每一條資料都有乙個 offset,是資料在該 partition 中的唯一標識(其實就是訊息的索引號),各個 consumer 會儲存其消費到的 offset 位置,這樣下次可以從該 offset 位置開始繼續消費,

consumer 的消費 offset 儲存在乙個專門的 topic(consumer_offsets)中;

新版本的message中各個欄位的含義介紹如下:

crc:占用 4 個位元組,主要用於校驗訊息的內容;

magic:這個占用 1 個位元組,主要用於標識 kafka 版本。kafka 0.10.x magic 預設值為 1

key length:占用 4 個位元組。主要標識 key 的內容的長度;

key:占用 n 個位元組,儲存的是 key 的具體內容;

value length:占用 4 個位元組。主要標識 value 的內容的長度;

value:value 即是訊息的真實內容,在 kafka 中這個也叫做 payload。

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 組成。消費者組內每個消費者負責消費不同分割槽的資料,乙個分割...