Kafka名詞概念解釋
Producer(生產者)
生產者,傳送訊息的一方。生產者負責建立訊息,然後將其投遞到Kafka中。
Consumer(消費者)
消費者,也就是接收訊息的一方。消費者連線到Kafka上並接收訊息,進而進行相應的業務邏輯處理。
Group
每一個消費者都屬於一個消費者組,當有多個消費者繫結同一個消費者組時,我們將這些消費者看做同一個組內的成員。消費者進行消費資料時,必須繫結一個消費者組。
Broker
可以理解為一個Kafka服務節點,大多情況下可以將其看做一臺Kafka伺服器,多個broker組成一個Kafka叢集,而同一個主題下的多個分割槽,可以坐落於不同的broker中。
Topic (主題)
Kafka中每條訊息都屬於某一個主題,而不論生產者還是消費者在進行資料的投放/消費時,都必須指定主題。一個主題下應存放同一類資料。
Partition (分割槽)
分割槽屬於主題下的概念,主題下的資料根據分割槽進行分割,一個主題至少擁有一個分割槽,每個分割槽中存放的資料內容不一樣,也就是說同一條訊息只會存在於一個分割槽中。而且每個分割槽維護各自的偏移量,所以分割槽的有序性只能保證在單個分割槽內。
副本
每個分割槽至少擁有一個副本,副本又分為「leader」和「follower」,其中資料的存取只會在leader上進行,follower只負責從leader中同步資料,以備在leader發生故障時,從follower中選舉中一個新的leader。同一個分割槽下所有的副本中的資料是一樣的。(在同步完成的情況下)
AR (Assigned Replicas )
分割槽中所有的副本。
ISR (In-Sync Replicas)
與leader副本的滯後性保持一定程度(可接受範圍內)的follower副本。新的leader就是在這裡產生。當副本同步速度降低時,會將其放入OSR中。
OSR (Out-Sync Replicas)
與leader副本的滯後過多的副本。當副本同步速度追上來時,會重新納入到ISR中。
HW (High Watermark)
高水位,消費者只能拉取到HW之前位置的資料。
LEO (Log End Offset)
標識日誌檔案中下一條資料的offset。
圖示
本作品採用《CC 協議》,轉載必須註明作者和本文連結