之前在工作中有接触许雪里大神开源的分布式任务调度平台XXL-JOB,最近经过一段时间的源码系统学习,今天简单写一篇博客介绍一下。
相关博客:
一、完整介绍地址:官方介绍
二、最新版本架构图:
三、介绍
目前我们在项目中可能接触到定时任务框架quartz,应用也是比较广泛的,其也是支持分布式任务调度的,通过数据库竞争锁来实现,当然会有很多的局限性(可能这也是xxl-job出现的原因),quartz支持多种数据库(quartz/quartz-core/src/main/resources/org/quartz/impl/jdbcjobstore at master · quartz-scheduler/quartz · GitHub),xxl-job其实也是在quartz的基础上实现的,但是修改了任务调度的模式,并且任务调度采用注册和RPC调用方式来实现。
管理后台:
四、技术栈
mysql、SSM,内置jetty作为RPC服务调用、quartz
五、xxl-job支持Postgresql数据库
目前由于xxl-job只支持mysql数据库,目前在github上拉了一个分支支持Postgresql 地址GitHub地址
六、 xxl-job 底层依赖 quartz 实现,架构如下