StrickyAssignor 分配策略
生活随笔
收集整理的這篇文章主要介紹了
StrickyAssignor 分配策略
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
kafka在0.11.x版本支持了StrickyAssignor, 翻譯過來叫粘滯策略,它主要有兩個目的
分區的分配盡可能的均勻
分區的分配盡可能和上次分配保持相同
當兩者發生沖突時, 第 一 個目標優先于第二個目標。 鑒于這兩個目標, StickyAssignor分配策略的具體實現要比RangeAssignor和RoundRobinAssi gn or這兩種分配策略要復雜得多,假設我們有這樣一個場景
假設消費組有3個消費者:C0,C1,C2,它們分別訂閱了4個Topic(t0,t1,t2,t3),并且每個主題有兩個分 區(p0,p1),也就是說,整個消費組訂閱了8個分區:tOpO 、 tOpl 、 tlpO 、 tlpl 、 t2p0 、 t2pl 、t3p0 、 t3pl 那么最終的分配場景結果為 CO: tOpO、tlpl 、 t3p0 Cl: tOpl、t2p0 、 t3pl C2: tlpO、t2pl 這種分配方式有點類似于輪詢策略,但實際上并不是,因為假設這個時候,C1這個消費者掛了,就勢必會造成 重新分區(reblance),如果是輪詢,那么結果應該是 CO: tOpO、tlpO、t2p0、t3p0 C2: tOpl、tlpl、t2pl、t3pl 然后,strickyAssignor它是一種粘滯策略,所以它會滿足`分區的分配盡可能和上次分配保持相同`,所以 分配結果應該是 消費者CO: tOpO、tlpl 、 t3p0、t2p0 消費者C2: tlpO、t2pl、tOpl、t3pl 也就是說,C0和C2保留了上一次是的分配結果,并且把原來C1的分區分配給了C0和C2。 這種策略的好處是 使得分區發生變化時,由于分區的“粘性,減少了不必要的分區移動?
總結
以上是生活随笔為你收集整理的StrickyAssignor 分配策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RoundRobinAssignor(轮
- 下一篇: 谁来执行Rebalance以及管理con