「Kafka應用」名詞概念解釋

ligkwww發表於2021-01-03

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。

圖示

image

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章