Kafka消費分組和分割槽分配策略

2022-08-23 04:06:10 字數 968 閱讀 9212

kafka消費分組,訊息消費原理

同乙個消費組裡的消費者不能消費同乙個分割槽,不同消費組的消費組可以消費同乙個分割槽

kafka分割槽分配策略

在 kafka 內部存在兩種預設的分割槽分配策略:range 和 roundrobin。當以下事件發生時,kafka 將會進行一次分割槽分配:

將分割槽的所有權從乙個消費者移到另乙個消費者稱為重新平衡(rebalance),如何rebalance就涉及到本文提到的分割槽分配策略。下面我們將詳細介紹 kafka 內建的兩種分割槽分配策略。

roundrobin(輪循分配):

這個分割槽分配策略簡單來說就是列出所有的分割槽,然後和消費執行緒之間進行迴圈的分配即可。

如果你需要使用該分配策略,你需要滿足所有的消費執行緒都是消費相同的topic,且每個消費者之間的消費執行緒數是一樣的。

range(範圍策略):

上述簡單來說就是分割槽總數/消費執行緒數,如果有餘,則表明有的消費執行緒之間分配的分割槽不均勻,那麼這個多出來的分割槽會給前幾個消費執行緒處理。

比如上述5個分割槽,2個comsumer,4個消費執行緒,則5/4=1,這個表明如果4個消費執行緒均分5個分割槽還會多出乙個分割槽,

那麼這個多出的額外分割槽就會給前面的消費執行緒處理,所以它會把第乙個分割槽先給到c1-0消費執行緒消費。

也可以這樣的認為分配:

5/4餘1,則分配規則為2,1,1,1,對應的消費執行緒為c1-0,c1-1,c2-0,c2-1

如果是6個分割槽的話:

6/4餘2,則分配規則為2,2,1,1,對應的消費執行緒為c1-0,c1-1,c2-0,c2-1

kafka消費者分割槽分配策略

在這裡對這一塊進行總結,具體看這篇文件 知乎 kafka消費者組與重平衡 目前一共三種分割槽分配策略 1.rang 這個策略主要方式是分割槽數除以消費者數來計算的 如果主題的分割槽分割槽不能平均分配給組內每個消費者,那麼對該主題,某些消費者會被分配到額外的分割槽 2.輪詢 這個模式很好理解,但是如果...

Kafka消費者的分割槽分配策略

有兩種策略,range和roundrobin。roundrobin策略有兩個前提是 同乙個consumer group裡面的所有消費者的num.streams必須相等 每個消費者訂閱的主題必須相同。range策略是以topic為整體進行分配的,roundrobin是以消費者組為整體進行分配的。假如有...

kafka的分割槽分配策略

將所有broker n個 和partition排序 將第i個partition分配到第 i mode n 個broker上 當key為空時,訊息隨機傳送到各個分割槽 各個版本會有不同,有的是採用輪詢的方式,有的是隨機,有的是一定時間內只傳送給固定partition,隔一段時間後隨機換乙個 用key的...