91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析Kafka中的reblance

發布時間:2021-12-09 15:30:33 來源:億速云 閱讀:149 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何分析Kafka中的reblance,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

Kafka常見的消費模式會以組進行組織,通常Kafa會將Topic的分區均勻的分配給同一個組下的不同實例,通常的策略有以下三種:

  • Range:將單個Topic的所有分區按照順序排列,然后把這些分區劃分成固定大小的分區段并分配給每個consumer,默認策略

  • Round:將訂閱所有的Topic分區輪詢分配給每個conumser

  • Sticky:規避數據傾斜,最大限度保證兩次reblance間維持之前的分配方案

目前觸發reblance主要有以下幾種情況:

  • 組成員發生變更:新consumer加入離開組、consumer意外崩潰

  • 組訂閱的Topic數發生變化:比如基于正則表達式的訂閱,當匹配正則表達式的新Topic被創建時

  • 組訂閱的Topic的分區數目發生變更時

reblance generation

consumer group可以執行多次reblance,為了保護consumer group特別是防止無效的offset提交,reblance generation通常用來標識某次reblance,每經歷一次reblance該值都會加1,默認值是從0開始。假如一個genertion值為1的consumer發生了延遲提交,但是reblance已經產生了新的group成員并且generation值已經變為了2,那么該conumse的提交將會被拒絕(ILLEGAL_EXCEPTION)。

reblance協議

Kafka會使用以下4組請求來完成reblance。

  • JoinGroup:consumer請求入組

  • SyncGroup:group leader把分配方案同步更新到組內所有成員中

  • HeartBeat:consumer定期向coordinator匯報心跳表明自己依然存活

  • LeaveGroup:consumer主動請求coordinator自己將要離組

除了上面4組請求外,還有一個特殊的請求:

  • DescribeGroup:查看組的所有信息,包括成員信息、協議信息、分配方案以及訂閱信息等。該請求不參與reblance,主要是管理員使用。

reblance過程中,coordinator需要接收來自consumer的JoinGroup和SyncGroup請求。當reblance成功以后,consumer定期向coordinator發送HeartBeat請求,consumer同時也會根據HeartBeat響應中是否包含REBLANCEINPROCESS來判斷當前group是否開啟了新一輪reblance。當consumer主動離組時,需要向coordinator發送LeaveGroup請求。

reblance流程

consumer reblance之前需要首先選定coordinator所在的broker(并且建立Socket連接),算法:

  • Math.abs(groupId.hashCode)%offsets.topic.num.partitions。

reblance主要分為兩步進行:

  1. 加入組:組內的所有consumer向coordinator發送JoinGroup請求,當收集好所有的JoinGroup請求后,coorinator需要從中選一個group leader,并把所有成員信息以及他們的訂閱信息發送給leader。

  2. 同步更新分配方案:group leader負責分配消費方案,具體策略有文章開頭的三種。分配完成后,leader會將分配方案封裝進SyncGroup請求然后發送給coordinator。在這一步中所有的consumer都會發送SyncGroup請求,只不過只有leader中包含了分配方案。coordinator收到請求后,將每個consumer的消費信息進行抽取然后作為SyncGroup的響應發送給對應的consumer。

看完上述內容,你們對如何分析Kafka中的reblance有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉林市| 贺州市| 乌拉特后旗| 林口县| 平潭县| 祁东县| 吉木乃县| 茂名市| 北京市| 平邑县| 六枝特区| 涡阳县| 江达县| 苏尼特右旗| 阆中市| 裕民县| 疏附县| 静海县| 石家庄市| 铅山县| 彭泽县| 长葛市| 秭归县| 天门市| 肇东市| 武清区| 佛坪县| 鄢陵县| 平泉县| 唐海县| 桑植县| 绥棱县| 凯里市| 哈尔滨市| 贡觉县| 太康县| 山丹县| 龙口市| 石门县| 九龙城区| 泗洪县|