# :-: **分布式任務調度**
```
隨著系統規模的發展,定時任務數量日益增多,任務也變得越來越復雜,尤其是在分布式環境下,存在多個業務系統,每個業務系統都有定時任務的需求,如果都在自身系統中調度,一方面增加業務系統的復雜度,另一方面也不方便管理,因此需要有一個任務平臺對分散的任務進行統一管理調度,基于目前的情況,任務平臺需要支持以下幾個方面:
```
1、任務統一管理,提供圖形化界面對任務進行配置和調度。
2、任務并發控制,同一個任務在同一時間只能允許一個執行。
3、任務彈性擴容,可根據繁忙情況動態增減服務器分攤壓力,對大任務進行分片處理。
4、任務依賴問題,能夠處理任務包含子任務的情況,前一個完成后觸發子任務執行。
5、支持多類型的任務,支持Spring Bean、Shell等。
6、任務節點高可用,任務節點異常或者繁忙時能夠轉移到其他節點執行。
7、調度中心高可用,支持集群部署,避免出現單點故障。
8、執行狀態監控,方便查看任務執行狀態,異常情況告警,支持多渠道通知。
# 解決方案
現在分布式下任務調度有很多解決方案,可以基于Quartz開發任務管理平臺,也可以使用開源的任務調度平臺,比如xxl-job,elastic-job。
**XXL-JOB**大眾點評員工徐雪里于2015年發布的分布式任務調度平臺,是一個輕量級分布式任務調度框架,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。官方地址:[https://www.xuxueli.com/xxl-job/](https://www.xuxueli.com/xxl-job/)
**ELASTIC-JOB**當當開發的彈性分布式任務調度系統,功能豐富強大,采用zookeeper實現分布式協調,實現任務高可用以及分片,并且可以支持云開發,由兩個相互獨立的子項目Elastic-Job-Lite和Elastic-Job-Cloud組成。官方地址:[http://elasticjob.io/doc](http://elasticjob.io/docs/elastic-job-lite/00-overview/)
- 項目介紹
- 項目聲明
- 項目簡介
- 架構設計
- 項目亮點功能介紹
- 技術棧介紹
- 核心功能
- 運行環境
- 項目更新日志
- 文檔更新日志
- F&Q
- 部署教程
- 環境準備
- JDK安裝
- JDK1.8,17共存
- maven
- 分布式緩存Redis
- 單機版
- 集群
- 注冊&配置中心alibaba/nacos
- 介紹
- Nacos安裝
- Nacos配置中心
- Nacos注冊發現
- Nacos生產部署方案
- 服務監控-BootAdmin
- 基本介紹
- 如何使用
- 整合Admin-Ui
- 客戶端配置
- 鏈路追蹤
- 基本介紹
- SkyWalking-1
- Skywalking-1
- 消息隊列
- Kafka
- docker安裝kafka
- Linux集群
- Maven私服
- nexus安裝部署
- nexus使用介紹
- 全文搜索elasticsearch
- windows集群搭建
- docker安裝es
- ElasticHD
- linux集群部署
- 統一日志解決方案
- 日志解決方案設計
- 介紹與相關資料
- ELK安裝部署
- elasticsearch 7.5
- logstash-7.5
- kibana-7.5
- filebeat
- 服務監控-Prometheus
- Prometheus安裝配置
- Prometheus介紹
- grafana
- 持續集成部署CICD
- 自動化部署Jenkins
- 安裝部署win
- 打包發布遠程執行
- 安裝部署linux
- jenkins+gitlab+docker容器化工程自動化部署
- Git
- CICD說明
- 阿里云效
- CentOS_MYSQL安裝
- docker
- 安裝
- Docker安裝Nginx
- Docker部署啟動springboot
- dockerCompose
- harbor
- Docker私有鏡像倉庫
- Portainer
- Docker遠程連接設置
- 打包工程
- 必要啟動模塊
- 核心模塊
- 登錄認證
- 緩存功能
- 日志模塊
- 分布式鎖
- 消息隊列
- 異常處理
- 系統接口
- 參數驗證
- es檢索
- 數據導出
- 系統設計
- 系統總體架構
- 擴展模塊(可選)
- 限流熔斷alibaba/sentinel
- 使用Sentinel實現gateway網關及服務接口限流
- Sentinel使用Nacos存儲規則及同步
- 服務調用Feign
- Feign基本介紹
- 如何使用
- 負載均衡
- 請求超時
- 請求攔截器
- 分布式任務調度
- XXL-JOB
- 分布式事務
- TX-LCN
- Seata
- Seata原理解析
- 數據庫分庫分表
- swagger文檔
- 分布式ID生成器解決方案
- 服務網關CloudGateway
- 基本介紹
- 使用網關
- 路由配置
- 全局過濾器
- 服務認證授權架構設計
- 認證服務流程
- 授權服務流程
- 系統冪等性設計與實踐
- 分布式日志鏈路跟蹤
- 實時搜索系統設計
- 應用性能
- 壓力測試工具
- Apache JMeter介紹和安裝
- ApacheJMeter使用
- JVM
- JVM性能調優
- 常見JVM內存錯誤及解決方案
- JVM 分析工具詳解
- Spring Cloud性能調優
- Linux運維
- Linux 常用命令
- Linux開啟端口