有兩種策略,range和roundrobin。roundrobin策略有兩個前提是:同乙個consumer group裡面的所有消費者的num.streams必須相等;每個消費者訂閱的主題必須相同。range策略是以topic為整體進行分配的,roundrobin是以消費者組為整體進行分配的。假如有兩個topic:t1和t2,每個分割槽都有三個個分割槽,t1的兩個分割槽為t10、t11、t12,t2的兩個分割槽為t20、t21、t22。假如消費者組裡有兩個消費者,分別為a、b。如果按照range策略,那麼t10、t11、t20、t21會被a消費,t12和t22會被消費者b消費。假如按照roundrobin策略,那麼kafka首先會對t10、t11、t12、t20、t21、t22這六個分割槽進行排序,排完序後再按照輪詢的方式讓消費者a、b消費。
那麼時候時候會觸發分割槽分配策略呢?
答:當消費者組的消費者的個數發生變化的時候。
kafka消費者分割槽分配策略
在這裡對這一塊進行總結,具體看這篇文件 知乎 kafka消費者組與重平衡 目前一共三種分割槽分配策略 1.rang 這個策略主要方式是分割槽數除以消費者數來計算的 如果主題的分割槽分割槽不能平均分配給組內每個消費者,那麼對該主題,某些消費者會被分配到額外的分割槽 2.輪詢 這個模式很好理解,但是如果...
kafka 消費者分割槽策略
分割槽分配策略 當消費者組中的消費者增多或減少會觸發分割槽分配策略 乙個consumer group中有多個consumer,乙個topic有多個partition,所以必然會涉及到partition 的分配問題,及確定那個partition由哪個consumer來消費。kafka中有兩種分配策略,...
Kafka消費分組和分割槽分配策略
kafka消費分組,訊息消費原理 同乙個消費組裡的消費者不能消費同乙個分割槽,不同消費組的消費組可以消費同乙個分割槽 kafka分割槽分配策略 在 kafka 內部存在兩種預設的分割槽分配策略 range 和 roundrobin。當以下事件發生時,kafka 將會進行一次分割槽分配 將分割槽的所有...