XXL-JOB 分佈式任務調度平臺特點
職責分離,任務調度,任務執行解耦
執行一致性,任務執行不會多次重複執行
豐富的路由策略(指定那個執行實例執行)
阻塞處理 (觸發的任務,上一次沒有執行完,針對這種情況,提供了處理機制)
容錯處理(任務執行失敗,有重試機制)
架構
核心表介紹
xxl_job_group 每個appName 一條記錄,執行器逗號分割存在address_list
xxl_job_registry 每個執行器一條記錄
xxl_job_info 任務
一個appName 對應 多個 執行器 ,一個執行器,多個任務
註冊機制
registryMonitorThread 探活進程 位移xxl-job-admin中
ExecutorRegistryThread 位於執行器中,執行器本身是個內嵌Server
執行過程
時間輪說明
有專門的線程ringThread 每1s 處理時間輪的數據,提升調度效率
XXL-JOB-Admin 調度器 HA 架構
注意實現:
mysql數據庫必須是一個
調度服務器,時間要進行同步
XXL-JOB HA方案的,nginx的配置
upstream local.xxljob.cn {
# xxl-job-admin 的地址
server 192.168.1.7:8080;
}
server {
listen 80; # nginx端口
server_name ls.xxljob.cn; # hosts中配置的域名
# 需要轉發的uri路徑
location ~* /xxl-job-admin {
proxy_pass http://local.xxljob.cn; # 映射上面的upstream
}
}