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