290家公司都在用的任務調(diào)度系統(tǒng),還在Github上開源了
今天,和大家介紹一個輕量級分布式任務調(diào)度平臺,開發(fā)迅速、學習簡單、輕量級、易擴展,290家公司都在用,它就是XXL-JOB,包括比較知名的大眾點評,京東,優(yōu)信二手車,北京尚德,360金融 (360),聯(lián)想集團 (聯(lián)想),易信 (網(wǎng)易)等等....
目前,xxl-job已經(jīng)在Github上已經(jīng)標星12.1K,F(xiàn)ork有5.2K(Github地址:https://github.com/xuxueli/xxl-job)
主要功能特性一共有35條,如下圖所示:
xxl-job將調(diào)度行為抽象形成“調(diào)度中心”公共平臺,而平臺自身并不承擔業(yè)務邏輯,“調(diào)度中心”負責發(fā)起調(diào)度請求。
將任務抽象成分散的JobHandler,交由“執(zhí)行器”統(tǒng)一管理,“執(zhí)行器”負責接收調(diào)度請求并執(zhí)行對應的JobHandler中業(yè)務邏輯。
因此,“調(diào)度”和“任務”兩部分可以相互解耦,提高系統(tǒng)整體穩(wěn)定性和擴展性;系統(tǒng)組成如下:
調(diào)度模塊(調(diào)度中心):
負責管理調(diào)度信息,按照調(diào)度配置發(fā)出調(diào)度請求,自身不承擔業(yè)務代碼。調(diào)度系統(tǒng)與任務解耦,提高了系統(tǒng)可用性和穩(wěn)定性,同時調(diào)度系統(tǒng)性能不再受限于任務模塊;支持可視化、簡單且動態(tài)的管理調(diào)度信息,包括任務新建,更新,刪除,GLUE開發(fā)和任務報警等,所有上述操作都會實時生效,同時支持監(jiān)控調(diào)度結果以及執(zhí)行日志,支持執(zhí)行器Failover。
執(zhí)行模塊(執(zhí)行器):
負責接收調(diào)度請求并執(zhí)行任務邏輯。任務模塊專注于任務的執(zhí)行等操作,開發(fā)和維護更加簡單和高效;接收“調(diào)度中心”的執(zhí)行請求、終止請求和日志請求等。
架構圖:
XXL開源社區(qū)已經(jīng)發(fā)布一系列開源軟件產(chǎn)品,涉及分布式、基礎中間件、效率工具等多個領域。
包含項目有:任務調(diào)度、配置中心、注冊中心、消息隊列、RPC通訊、API管理、SSO、爬蟲、Excel工具、代碼生成……等等。