在深入瞭解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(分區偏移) 每個分區消息具有稱爲 |
4 | Replicas of partition(分區備份) 副本只是一個分區的 |
5 | Brokers(經紀人)
|
6 | Kafka Cluster(Kafka集羣) Kafka有多個代理被稱爲Kafka集羣。 可以擴展Kafka集羣,無需停機。 這些集羣用於管理消息數據的持久性和複製。 |
7 | Producers(生產者) 生產者是發送給一個或多個Kafka主題的消息的發佈者。 生產者向Kafka經紀人發送數據。 每當生產者將消息發佈給代理時,代理只需將消息附加到最後一個段文件。 實際上,該消息將被附加到分區。 生產者還可以向他們選擇的分區發送消息。 |
8 | Consumers(消費者) Consumers從經紀人處讀取數據。 消費者訂閱一個或多個主題,並通過從代理中提取數據來使用已發佈的消息。 |
9 | Leader(領導者)
|
10 | Follower(追隨者) 跟隨領導者指令的節點被稱爲Follower。 如果領導失敗,一個追隨者將自動成爲新的領導者。 跟隨者作爲正常消費者,拉取消息並更新其自己的數據存儲。 |