XXL-JOB是一個分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標是開發(fā)迅速、學習簡單、輕量級、易擴展,F(xiàn)已開放源代碼并接入多家公司線上產(chǎn)品線,開箱即用。 功能介紹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、路由策略:執(zhí)行器集群部署時提供豐富的路由策略,包括:第一個、最后一個、輪詢、隨機、一致性HASH、最不經(jīng)常使用、最近最久未使用、故障轉(zhuǎn)移、忙碌轉(zhuǎn)移等; 8、故障轉(zhuǎn)移:任務(wù)路由策略選擇"故障轉(zhuǎn)移"情況下,如果執(zhí)行器集群中某一臺機器故障,將會自動Failover切換到一臺正常的執(zhí)行器發(fā)送調(diào)度請求。 9、阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時的處理策略,策略包括:單機串行(默認)、丟棄后續(xù)調(diào)度、覆蓋之前調(diào)度; 10、任務(wù)超時控制:支持自定義任務(wù)超時時間,任務(wù)運行超時將會主動中斷任務(wù); 11、任務(wù)失敗重試:支持自定義任務(wù)失敗重試次數(shù),當任務(wù)失敗時將會按照預設(shè)的失敗重試次數(shù)主動進行重試;其中分片任務(wù)支持分片粒度的失敗重試; 12、任務(wù)失敗告警;默認提供郵件方式失敗告警,同時預留擴展接口,可方便的擴展短信、釘釘?shù)雀婢绞剑?/p> 13、分片廣播任務(wù):執(zhí)行器集群部署時,任務(wù)路由策略選擇"分片廣播"情況下,一次任務(wù)調(diào)度將會廣播觸發(fā)集群中所有執(zhí)行器執(zhí)行一次任務(wù),可根據(jù)分片參數(shù)開發(fā)分片任務(wù); 14、動態(tài)分片:分片廣播任務(wù)以執(zhí)行器為維度進行分片,支持動態(tài)擴容執(zhí)行器集群從而動態(tài)增加分片數(shù)量,協(xié)同進行業(yè)務(wù)處理;在進行大數(shù)據(jù)量業(yè)務(wù)操作時可顯著提升任務(wù)處理能力和速度。 15、事件觸發(fā):除了"Cron方式"和"任務(wù)依賴方式"觸發(fā)任務(wù)執(zhí)行之外,支持基于事件的觸發(fā)任務(wù)方式。調(diào)度中心提供觸發(fā)任務(wù)單次執(zhí)行的API服務(wù),可根據(jù)業(yè)務(wù)事件靈活觸發(fā)。 16、任務(wù)進度監(jiān)控:支持實時監(jiān)控任務(wù)進度; 17、Rolling實時日志:支持在線查看調(diào)度結(jié)果,并且支持以Rolling方式實時查看執(zhí)行器輸出的完整的執(zhí)行日志; 18、GLUE:提供Web IDE,支持在線開發(fā)任務(wù)邏輯代碼,動態(tài)發(fā)布,實時編譯生效,省略部署上線的過程。支持30個版本的歷史版本回溯。 19、腳本任務(wù):支持以GLUE模式開發(fā)和運行腳本任務(wù),包括Shell、Python、NodeJS、PHP、PowerShell等類型腳本; 20、命令行任務(wù):原生提供通用命令行任務(wù)Handler(Bean任務(wù),"CommandJobHandler");業(yè)務(wù)方只需要提供命令行即可; 21、任務(wù)依賴:支持配置子任務(wù)依賴,當父任務(wù)執(zhí)行結(jié)束且執(zhí)行成功后將會主動觸發(fā)一次子任務(wù)的執(zhí)行, 多個子任務(wù)用逗號分隔; 22、一致性:“調(diào)度中心”通過DB鎖保證集群分布式調(diào)度的一致性, 一次任務(wù)調(diào)度只會觸發(fā)一次執(zhí)行; 23、自定義任務(wù)參數(shù):支持在線配置調(diào)度任務(wù)入?yún),即時生效; 24、調(diào)度線程池:調(diào)度系統(tǒng)多線程觸發(fā)調(diào)度運行,確保調(diào)度精確執(zhí)行,不被堵塞; 25、數(shù)據(jù)加密:調(diào)度中心和執(zhí)行器之間的通訊進行數(shù)據(jù)加密,提升調(diào)度信息安全性; 26、郵件報警:任務(wù)失敗時支持郵件報警,支持配置多郵件地址群發(fā)報警郵件; 27、推送maven中央倉庫: 將會把最新穩(wěn)定版推送到maven中央倉庫, 方便用戶接入和使用; 28、運行報表:支持實時查看運行數(shù)據(jù),如任務(wù)數(shù)量、調(diào)度次數(shù)、執(zhí)行器數(shù)量等;以及調(diào)度報表,如調(diào)度日期分布圖,調(diào)度成功分布圖等; 29、全異步:任務(wù)調(diào)度流程全異步化設(shè)計實現(xiàn),如異步調(diào)度、異步運行、異步回調(diào)等,有效對密集調(diào)度進行流量削峰,理論上支持任意時長任務(wù)的運行; 30、跨語言:調(diào)度中心與執(zhí)行器提供語言無關(guān)的 RESTful API 服務(wù),第三方任意語言可據(jù)此對接調(diào)度中心或者實現(xiàn)執(zhí)行器。除此之外,還提供了 “多任務(wù)模式”和“httpJobHandler”等其他跨語言方案; 31、國際化:調(diào)度中心支持國際化設(shè)置,提供中文、英文兩種可選語言,默認為中文; 32、容器化:提供官方docker鏡像,并實時更新推送dockerhub,進一步實現(xiàn)產(chǎn)品開箱即用; 33、線程池隔離:調(diào)度線程池進行隔離拆分,慢任務(wù)自動降級進入"Slow"線程池,避免耗盡調(diào)度線程,提高系統(tǒng)穩(wěn)定性; 34、用戶管理:支持在線管理系統(tǒng)用戶,存在管理員、普通用戶兩種角色; 35、權(quán)限控制:執(zhí)行器維度進行權(quán)限控制,管理員擁有全量權(quán)限,普通用戶需要分配執(zhí)行器權(quán)限后才允許相關(guān)操作; 更新日志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、【修復】GLUE-Java模式任務(wù),init/destroy無法執(zhí)行問題修復; 16、【修復】Cron編輯器問題修復:修復小概率情況下cron單個字段修改時導致其他字段被重置問題; 17、【修復】通用HTTP任務(wù)Handler(httpJobHandler)優(yōu)化:修復 "setDoOutput(true)" 導致任務(wù)請求GetMethod失效問題; 18、【修復】執(zhí)行器Commandhandler示例任務(wù)優(yōu)化,修復極端情況下腳本進程掛起問題; 19、【修復】調(diào)度通訊組件優(yōu)化,修復RestFul方式調(diào)用 DotNet 版本執(zhí)行器時心跳檢測失敗問題; 20、【修復】調(diào)度中心遠程執(zhí)行日志查詢亂碼問題修復; 21、【修復】調(diào)度中心組件加載順序優(yōu)化,修復極端情況下調(diào)度組件初始慢導致的調(diào)度失敗問題; 22、【修復】執(zhí)行器注冊線程優(yōu)化,修復極端情況下初始化失敗時導致NPE問題; 23、【修復】調(diào)度線程連接池優(yōu)化,修復連接有效性校驗超時問題; 24、【修復】執(zhí)行器注冊表字段優(yōu)化,解決執(zhí)行器注冊節(jié)點過多導致注冊信息存儲和更新失敗的問題; 25、【修復】輪訓路由策略優(yōu)化,修復小概率下并發(fā)問題; 26、【修復】頁面redirect跳轉(zhuǎn)后https變?yōu)閔ttp問題修復; 27、【修復】執(zhí)行器日志清理優(yōu)化,修復小概率下日志文件為空導致清理異常問題; 使用編程語言寫的程序,由于每條指令都對應(yīng)計算機一個特定的基本動作,所以程序占用內(nèi)存少、執(zhí)行效率高。 |
1深度技術(shù)win10正式版ghost(32位)旗艦......
2番茄花園win10 X86 ghost 標準通......
3番茄花園Win10_Ghost Win10 64......
4雨林木風 GHOST WIN10 X64 快速裝......
5深度技術(shù)GHOST WIN10 X64 尊貴專業(yè)......
6筆記本W(wǎng)in10系統(tǒng) 64位官方正式版2023年......
7筆記本win10正式版ghost(32位)旗艦免......
8雨林木風win10(32位)ghost 修正專業(yè)......