XXL-JOB v2.3.0 發(fā)布 | 易用性增強

v2.3.0 Release Notes

  • 1靡砌、【新增】調(diào)度過期策略:調(diào)度中心錯過調(diào)度時間的補償處理策略颤介,包括:忽略酸钦、立即補償觸發(fā)一次等;
  • 2甜害、【新增】觸發(fā)策略:除了常規(guī)Cron舶掖、API、父子任務(wù)觸發(fā)方式外尔店,新增提供 "固定間隔觸發(fā)眨攘、(固定延時觸發(fā),實驗中)" 新觸發(fā)方式嚣州;
  • 3鲫售、【新增】新增任務(wù)輔助工具 "XxlJobHelper":提供統(tǒng)一任務(wù)輔助能力,包括:任務(wù)上下文信息維護獲雀秒取(任務(wù)參數(shù)情竹、任務(wù)ID、分片參數(shù))匀哄、日志輸出秦效、任務(wù)結(jié)果設(shè)置……等;
    • 3.1涎嚼、"ShardingUtil" 組件廢棄:改用 "XxlJobHelper.getShardIndex()/getShardTotal();" 獲取分片參數(shù)阱州;
    • 3.2、"XxlJobLogger" 組件廢棄:改用 "XxlJobHelper.log" 進行日志輸出法梯;
  • 4苔货、【優(yōu)化】任務(wù)核心類 "IJobHandler" 的 "execute" 方法取消出入?yún)⒃O(shè)計。改為通過 "XxlJobHelper.getJobParam" 獲取任務(wù)參數(shù)并替代方法入?yún)⒘⒀疲ㄟ^ "XxlJobHelper.handleSuccess/handleFail" 設(shè)置任務(wù)結(jié)果并替代方法出參蒲赂,示例代碼如下;
@XxlJob("demoJobHandler")
public void execute() {
    String param = XxlJobHelper.getJobParam();    // 獲取參數(shù) 
    XxlJobHelper.handleSuccess();                 // 設(shè)置任務(wù)結(jié)果
}
  • 5刁憋、【優(yōu)化】Cron編輯器增強:Cron編輯器修改cron時可實時查看最近運行時間;
  • 6滥嘴、【優(yōu)化】執(zhí)行器示例項目規(guī)范整理;
  • 7至耻、【優(yōu)化】任務(wù)調(diào)度生命周期重構(gòu):調(diào)度(schedule)若皱、觸發(fā)(trigger)、執(zhí)行(handle)尘颓、回調(diào)(callback)走触、結(jié)束(complete);
  • 8疤苹、【優(yōu)化】執(zhí)行器注冊組件優(yōu)化:注冊邏輯調(diào)整為異步方式互广,提高注冊性能;
  • 9、【優(yōu)化】執(zhí)行器鑒權(quán)校驗:執(zhí)行器啟動時主動校驗accessToken惫皱,為空則主動Warn告警像樊;(已規(guī)劃安全強化:AccessToken動態(tài)生成、動態(tài)啟停等)
  • 10旅敷、【優(yōu)化】郵箱告警配置優(yōu)化:將"spring.mail.from"與"spring.mail.username"屬性拆分開生棍,更加靈活的支持一些無密碼郵箱服務(wù);
  • 11媳谁、【優(yōu)化】多個項目依賴升級至較新穩(wěn)定版本涂滴,如netty、groovy晴音、spring柔纵、springboot、mybatis等锤躁;
  • 12搁料、【優(yōu)化】UI組件常規(guī)升級,提升組件穩(wěn)定性进苍;
  • 13加缘、【優(yōu)化】調(diào)度中心頁面交互優(yōu)化:用戶管理模塊密碼列取消鸭叙;多處表達autocomplete取消觉啊;執(zhí)行器管理模塊XSS攔截校驗等;
  • 14沈贝、【優(yōu)化】調(diào)度中心任務(wù)狀態(tài)探測慢SQL問題優(yōu)化杠人;
  • 15、【修復(fù)】GLUE-Java模式任務(wù)宋下,init/destroy無法執(zhí)行問題修復(fù)嗡善;
  • 16、【修復(fù)】Cron編輯器問題修復(fù):修復(fù)小概率情況下cron單個字段修改時導(dǎo)致其他字段被重置問題学歧;
  • 17罩引、【修復(fù)】通用HTTP任務(wù)Handler(httpJobHandler)優(yōu)化:修復(fù) "setDoOutput(true)" 導(dǎo)致任務(wù)請求GetMethod失效問題;
  • 18枝笨、【修復(fù)】執(zhí)行器Commandhandler示例任務(wù)優(yōu)化袁铐,修復(fù)極端情況下腳本進程掛起問題;
  • 19横浑、【修復(fù)】調(diào)度通訊組件優(yōu)化剔桨,修復(fù)RestFul方式調(diào)用 DotNet 版本執(zhí)行器時心跳檢測失敗問題;
  • 20徙融、【修復(fù)】調(diào)度中心遠程執(zhí)行日志查詢亂碼問題修復(fù)洒缀;
  • 21、【修復(fù)】調(diào)度中心組件加載順序優(yōu)化,修復(fù)極端情況下調(diào)度組件初始慢導(dǎo)致的調(diào)度失敗問題树绩;
  • 22萨脑、【修復(fù)】執(zhí)行器注冊線程優(yōu)化,修復(fù)極端情況下初始化失敗時導(dǎo)致NPE問題葱峡;
  • 23砚哗、【修復(fù)】調(diào)度線程連接池優(yōu)化,修復(fù)連接有效性校驗超時問題砰奕;
  • 24蛛芥、【修復(fù)】執(zhí)行器注冊表字段優(yōu)化,解決執(zhí)行器注冊節(jié)點過多導(dǎo)致注冊信息存儲和更新失敗的問題军援;
  • 25仅淑、【修復(fù)】輪訓(xùn)路由策略優(yōu)化,修復(fù)小概率下并發(fā)問題胸哥;
  • 26涯竟、【修復(fù)】頁面redirect跳轉(zhuǎn)后https變?yōu)閔ttp問題修復(fù);
  • 27空厌、【修復(fù)】執(zhí)行器日志清理優(yōu)化庐船,修復(fù)小概率下日志文件為空導(dǎo)致清理異常問題;

簡介

XXL-JOB是一個輕量級分布式任務(wù)調(diào)度平臺嘲更,其核心設(shè)計目標(biāo)是開發(fā)迅速筐钟、學(xué)習(xí)簡單、輕量級赋朦、易擴展÷ǔ澹現(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用宠哄。

111.png

特性

  • 1壹将、簡單:支持通過Web頁面對任務(wù)進行CRUD操作,操作簡單毛嫉,一分鐘上手诽俯;
  • 2、動態(tài):支持動態(tài)修改任務(wù)狀態(tài)承粤、啟動/停止任務(wù)暴区,以及終止運行中任務(wù),即時生效密任;
  • 3颜启、調(diào)度中心HA(中心式):調(diào)度采用中心式設(shè)計,“調(diào)度中心”自研調(diào)度組件并支持集群部署浪讳,可保證調(diào)度中心HA缰盏;
  • 4、執(zhí)行器HA(分布式):任務(wù)分布式執(zhí)行驶兜,任務(wù)"執(zhí)行器"支持集群部署叁怪,可保證任務(wù)執(zhí)行HA茁影;
  • 5盛嘿、注冊中心: 執(zhí)行器會周期性自動注冊任務(wù), 調(diào)度中心將會自動發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行。同時呛讲,也支持手動錄入執(zhí)行器地址沸伏;
  • 6边臼、彈性擴容縮容:一旦有新執(zhí)行器機器上線或者下線须尚,下次調(diào)度時將會重新分配任務(wù)崖堤;
  • 7、觸發(fā)策略:提供豐富的任務(wù)觸發(fā)策略耐床,包括:Cron觸發(fā)密幔、固定間隔觸發(fā)、固定延時觸發(fā)撩轰、API(事件)觸發(fā)胯甩、人工觸發(fā)、父子任務(wù)觸發(fā)堪嫂;
  • 8偎箫、調(diào)度過期策略:調(diào)度中心錯過調(diào)度時間的補償處理策略,包括:忽略皆串、立即補償觸發(fā)一次等淹办;
  • 9、阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時的處理策略愚战,策略包括:單機串行(默認(rèn))娇唯、丟棄后續(xù)調(diào)度齐遵、覆蓋之前調(diào)度寂玲;
  • 10、任務(wù)超時控制:支持自定義任務(wù)超時時間梗摇,任務(wù)運行超時將會主動中斷任務(wù)拓哟;
  • 11、任務(wù)失敗重試:支持自定義任務(wù)失敗重試次數(shù)伶授,當(dāng)任務(wù)失敗時將會按照預(yù)設(shè)的失敗重試次數(shù)主動進行重試断序;其中分片任務(wù)支持分片粒度的失敗重試;
  • 12糜烹、任務(wù)失敗告警违诗;默認(rèn)提供郵件方式失敗告警,同時預(yù)留擴展接口疮蹦,可方便的擴展短信诸迟、釘釘?shù)雀婢绞剑?/li>
  • 13、路由策略:執(zhí)行器集群部署時提供豐富的路由策略,包括:第一個阵苇、最后一個壁公、輪詢、隨機绅项、一致性HASH紊册、最不經(jīng)常使用、最近最久未使用快耿、故障轉(zhuǎn)移囊陡、忙碌轉(zhuǎn)移等;
  • 14掀亥、分片廣播任務(wù):執(zhí)行器集群部署時关斜,任務(wù)路由策略選擇"分片廣播"情況下,一次任務(wù)調(diào)度將會廣播觸發(fā)集群中所有執(zhí)行器執(zhí)行一次任務(wù)铺浇,可根據(jù)分片參數(shù)開發(fā)分片任務(wù)痢畜;
  • 15、動態(tài)分片:分片廣播任務(wù)以執(zhí)行器為維度進行分片鳍侣,支持動態(tài)擴容執(zhí)行器集群從而動態(tài)增加分片數(shù)量丁稀,協(xié)同進行業(yè)務(wù)處理;在進行大數(shù)據(jù)量業(yè)務(wù)操作時可顯著提升任務(wù)處理能力和速度倚聚。
  • 16线衫、故障轉(zhuǎn)移:任務(wù)路由策略選擇"故障轉(zhuǎn)移"情況下,如果執(zhí)行器集群中某一臺機器故障惑折,將會自動Failover切換到一臺正常的執(zhí)行器發(fā)送調(diào)度請求授账。
  • 17、任務(wù)進度監(jiān)控:支持實時監(jiān)控任務(wù)進度惨驶;
  • 18白热、Rolling實時日志:支持在線查看調(diào)度結(jié)果,并且支持以Rolling方式實時查看執(zhí)行器輸出的完整的執(zhí)行日志粗卜;
  • 19屋确、GLUE:提供Web IDE,支持在線開發(fā)任務(wù)邏輯代碼续扔,動態(tài)發(fā)布攻臀,實時編譯生效,省略部署上線的過程纱昧。支持30個版本的歷史版本回溯刨啸。
  • 20、腳本任務(wù):支持以GLUE模式開發(fā)和運行腳本任務(wù)识脆,包括Shell设联、Python加匈、NodeJS、PHP仑荐、PowerShell等類型腳本;
  • 21雕拼、命令行任務(wù):原生提供通用命令行任務(wù)Handler(Bean任務(wù),"CommandJobHandler")粘招;業(yè)務(wù)方只需要提供命令行即可啥寇;
  • 22、任務(wù)依賴:支持配置子任務(wù)依賴洒扎,當(dāng)父任務(wù)執(zhí)行結(jié)束且執(zhí)行成功后將會主動觸發(fā)一次子任務(wù)的執(zhí)行, 多個子任務(wù)用逗號分隔辑甜;
  • 23、一致性:“調(diào)度中心”通過DB鎖保證集群分布式調(diào)度的一致性, 一次任務(wù)調(diào)度只會觸發(fā)一次執(zhí)行袍冷;
  • 24磷醋、自定義任務(wù)參數(shù):支持在線配置調(diào)度任務(wù)入?yún)ⅲ磿r生效胡诗;
  • 25邓线、調(diào)度線程池:調(diào)度系統(tǒng)多線程觸發(fā)調(diào)度運行,確保調(diào)度精確執(zhí)行煌恢,不被堵塞骇陈;
  • 26、數(shù)據(jù)加密:調(diào)度中心和執(zhí)行器之間的通訊進行數(shù)據(jù)加密瑰抵,提升調(diào)度信息安全性你雌;
  • 27、郵件報警:任務(wù)失敗時支持郵件報警二汛,支持配置多郵件地址群發(fā)報警郵件婿崭;
  • 28、推送maven中央倉庫: 將會把最新穩(wěn)定版推送到maven中央倉庫, 方便用戶接入和使用;
  • 29肴颊、運行報表:支持實時查看運行數(shù)據(jù)氓栈,如任務(wù)數(shù)量、調(diào)度次數(shù)苫昌、執(zhí)行器數(shù)量等颤绕;以及調(diào)度報表幸海,如調(diào)度日期分布圖祟身,調(diào)度成功分布圖等;
  • 30物独、全異步:任務(wù)調(diào)度流程全異步化設(shè)計實現(xiàn)袜硫,如異步調(diào)度、異步運行挡篓、異步回調(diào)等婉陷,有效對密集調(diào)度進行流量削峰帚称,理論上支持任意時長任務(wù)的運行;
  • 31秽澳、跨語言:調(diào)度中心與執(zhí)行器提供語言無關(guān)的 RESTful API 服務(wù)闯睹,第三方任意語言可據(jù)此對接調(diào)度中心或者實現(xiàn)執(zhí)行器。除此之外担神,還提供了 “多任務(wù)模式”和“httpJobHandler”等其他跨語言方案楼吃;
  • 32、國際化:調(diào)度中心支持國際化設(shè)置妄讯,提供中文孩锡、英文兩種可選語言,默認(rèn)為中文亥贸;
  • 33躬窜、容器化:提供官方docker鏡像,并實時更新推送dockerhub炕置,進一步實現(xiàn)產(chǎn)品開箱即用荣挨;
  • 34、線程池隔離:調(diào)度線程池進行隔離拆分朴摊,慢任務(wù)自動降級進入"Slow"線程池垦沉,避免耗盡調(diào)度線程,提高系統(tǒng)穩(wěn)定性仍劈;
  • 35厕倍、用戶管理:支持在線管理系統(tǒng)用戶,存在管理員贩疙、普通用戶兩種角色讹弯;
  • 36、權(quán)限控制:執(zhí)行器維度進行權(quán)限控制这溅,管理員擁有全量權(quán)限组民,普通用戶需要分配執(zhí)行器權(quán)限后才允許相關(guān)操作;

文檔地址

技術(shù)交流

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末悲靴,一起剝皮案震驚了整個濱河市臭胜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌癞尚,老刑警劉巖耸三,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異浇揩,居然都是意外死亡仪壮,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進店門胳徽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來积锅,“玉大人爽彤,你說我怎么就攤上這事「肯荩” “怎么了适篙?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長箫爷。 經(jīng)常有香客問我匙瘪,道長,這世上最難降的妖魔是什么蝶缀? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任丹喻,我火速辦了婚禮,結(jié)果婚禮上翁都,老公的妹妹穿的比我還像新娘碍论。我一直安慰自己,他們只是感情好柄慰,可當(dāng)我...
    茶點故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布鳍悠。 她就那樣靜靜地躺著,像睡著了一般坐搔。 火紅的嫁衣襯著肌膚如雪藏研。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天概行,我揣著相機與錄音蠢挡,去河邊找鬼。 笑死凳忙,一個胖子當(dāng)著我的面吹牛业踏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播涧卵,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼勤家,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了柳恐?” 一聲冷哼從身側(cè)響起伐脖,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎乐设,沒想到半個月后讼庇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡伤提,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年巫俺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肿男。...
    茶點故事閱讀 40,769評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡介汹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舶沛,到底是詐尸還是另有隱情嘹承,我是刑警寧澤,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布如庭,位于F島的核電站叹卷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏坪它。R本人自食惡果不足惜骤竹,卻給世界環(huán)境...
    茶點故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望往毡。 院中可真熱鬧蒙揣,春花似錦、人聲如沸开瞭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嗤详。三九已至个扰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間葱色,已是汗流浹背递宅。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留苍狰,地道東北人恐锣。 一個月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像舞痰,于是被迫代替她去往敵國和親土榴。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,781評論 2 361