如何保證調度中心的HA(高可用)上鞠?
xxl-job-admin(調度中心)可以部署多臺機器妓羊,只需要客戶端配置的調度中心地址用驾讲,隔開配置多個即可⊙伛客戶端會在每一個調度中心進行注冊
3援雇、調度中心HA(中心式):調度采用中心式設計,“調度中心”自研調度組件并支持集群部署椎扬,可保證調度中心HA惫搏;
如何保證任務執(zhí)行HA具温?
一個執(zhí)行器可以由多個機器注冊上來,這樣調度就可以從多個機器中取選擇筐赔,具體有第一個铣猩、最后一個、輪詢茴丰、隨機达皿、一致性HASH、最不經常使用贿肩、最近最久未使用峦椰、故障轉移、忙碌轉移等策略來執(zhí)行任務
4汰规、執(zhí)行器HA(分布式):任務分布式執(zhí)行汤功,任務”執(zhí)行器”支持集群部署悲敷,可保證任務執(zhí)行HA兽赁;
如何分片執(zhí)行任務?
執(zhí)行器集群部署時痘昌,任務路由策略選擇”分片廣播”情況下茂嗓,一次任務調度將會廣播觸發(fā)對應集群中所有執(zhí)行器執(zhí)行一次任務餐茵,同時系統(tǒng)自動傳遞分片參數;可根據分片參數開發(fā)分片任務在抛;
“分片廣播” 以執(zhí)行器為維度進行分片钟病,支持動態(tài)擴容執(zhí)行器集群從而動態(tài)增加分片數量萧恕,協(xié)同進行業(yè)務處理刚梭;在進行大數據量業(yè)務操作時可顯著提升任務處理能力和速度。
“分片廣播” 和普通任務開發(fā)流程一致票唆,不同之處在于可以獲取分片參數朴读,獲取分片參數進行分片業(yè)務處理。
1走趋、分片任務場景:10個執(zhí)行器的集群來處理10w條數據衅金,每臺機器只需要處理1w條數據,耗時降低10倍簿煌;
2氮唯、廣播任務場景:廣播執(zhí)行器機器運行shell腳本、廣播集群節(jié)點進行緩存更新等
那是如何實現的呢姨伟?其實是看目前這個執(zhí)行器有多少個機器注冊上來惩琉,然后每個機器給一個固定的分片序號,業(yè)務根據每個機器拿到序號進行分片夺荒。
e.g. 現在有一個用戶手機號加密任務瞒渠,目前用戶有40W良蒸,有四臺機器注冊上去了,那么第一臺機器拿到的分片index就是0伍玖,第二臺就是1嫩痰,以此類推。這樣在代碼里就可以寫邏輯窍箍,如果分片參數 index = 0 則查詢id在0~10W的用戶進行處理串纺。