溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

發(fā)布時間:2020-06-10 16:36:07 來源:億速云 閱讀:591 作者:元一 欄目:編程語言

xxl-job介紹:

xxl-job是一個輕量級分布式任務(wù)調(diào)度平臺,其核心設(shè)計目標是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴展。

特性

簡單:支持通過Web頁面對任務(wù)進行CRUD操作,操作簡單,一分鐘上手;
動態(tài):支持動態(tài)修改任務(wù)狀態(tài)、啟動、停止任務(wù),以及終止運行中任務(wù),即時生效;
調(diào)度中心HA(中心式):調(diào)度采用中心式設(shè)計,“調(diào)度中心”自研調(diào)度組件并支持集群部署,可保證調(diào)度中心HA;
執(zhí)行器HA(分布式):任務(wù)分布式執(zhí)行,任務(wù)“執(zhí)行器”支持集群部署,可保證任務(wù)執(zhí)行HA;
注冊中心:執(zhí)行器會周期性自動注冊任務(wù),任務(wù)中心將會自動發(fā)現(xiàn)注冊的任務(wù)并觸發(fā)執(zhí)行。同時,也支持手動錄入執(zhí)行器地址;
彈性擴容縮容:一旦有新執(zhí)行器機器上線或者下線,下次調(diào)度時將會重新分配任務(wù);
路由策略:執(zhí)行器集群部署時提供豐富的路由策略,包括:第一個、最后一個、輪詢、隨機、一致性HASH、最不經(jīng)常使用、最近最久未使用、故障轉(zhuǎn)移、忙碌轉(zhuǎn)移等;
故障轉(zhuǎn)移:任務(wù)路由策略選擇“故障轉(zhuǎn)移”情況下,如果執(zhí)行器集群中某一臺機器故障,將會自動Failover切換到一臺正常的執(zhí)行器發(fā)送調(diào)度請求。
阻塞處理策略:調(diào)度過于密集執(zhí)行器來不及處理時的處理策略,策略包括:單機串行(默認)、丟棄后續(xù)調(diào)度、覆蓋之前調(diào)度;
任務(wù)超過控制:支持自定義任務(wù)超時時間,任務(wù)運行超時將會主動中斷任務(wù);

先來看下目前最新版本v2.1.0的架構(gòu)圖:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

再來看看在git上的stars:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

再來看下xxl-job的發(fā)展:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹


源碼下載:

在git上下載源碼(因平臺限制,凱哥就不貼git地址了),使用到的git命令:git clone。

下載后,將代碼導(dǎo)入到idea中。

環(huán)境要求:

Maven 3+

jdk1.7+

mysql5.7+

先來看看項目結(jié)構(gòu):

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

初始化sql腳本

在/xxl-job/doc/db/tables_xxl_job.sql是sql腳本文件。

sql初始化錯誤解決

在sql腳本導(dǎo)入的時候,有可能會遇到如下錯誤:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

可以參考如下文章進行修改:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

sql腳本執(zhí)行之后,可以看到有以下6張表了。

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

任務(wù)調(diào)度中心的配置

在XXL-Job所有項目中,任務(wù)調(diào)度中心就是源碼中的xxl-job-admin這個工程。我們需要修改這個工程中信息成為自己的。

修改admin配置文件

文件地址:/xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

1:修改數(shù)據(jù)庫信息

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

2:如果需要郵件的話可以配置成自己的。其他項根據(jù)需求進行修改即可

部署調(diào)度中心項目

因為admin項目是spring boot項目,所以,我們直接run:XxlJobAdminApplication即可。文件位置如下圖:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

啟動項目后,在瀏覽器中輸入:127.0.0.1:8080/xxl-job-admin

默認的用戶名及密碼->用戶名:admin 密碼:123456

登陸之后,出現(xiàn)如下圖的界面:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

菜單說明:

運行報表:如上圖。是調(diào)度器運行情況報表

任務(wù)管理:定時任務(wù)管理列表

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

調(diào)度日志:運行日志記錄

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

執(zhí)行器管理:

Java分布式任務(wù)調(diào)度框架XXL-Job的介紹

先配置執(zhí)行器,然后在任務(wù)管理中,新增任務(wù)管理,啟動任務(wù)之后,就可以在調(diào)度日志中,查看到運行結(jié)果了。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI