上一篇文章介绍了分布式调度XXL-JOB的特性,可以让你了解到在技术选型时,该组件可以帮你解决什么问题、接入成本及维护成本问题。本篇文章主要来介绍分布式调度XXL-JOB的架构演进过程。
1、XXL-JOB架构图 v1.1版本
从上图中可以看到,v1.1架构下分为两大块,调度中心和执行器(你的业务微服务),调度中心中包含3大块,分别是:
(1)任务池:管理所有的调度任务
(2)调度器:负责对任务池中的任务进行调度
(3)调度日志:负责记录每次调度的结果
执行器中有两个模块,分别是:
(1)调度队列:负责存储调度中心发起对任务池中的任务的调度请求
(2)任务执行:主要根据调度请求来执行对应的业务逻辑
2、XXL-JOB架构图 v1.3
v1.3的架构与之前相比,模块划分更加清晰,调度中心中有执行器地址,调度器是基于quartz进行调度、回调服务及GLUE日志
3、XXL-JOB架构图 v1.5
从v1.5版本中可以看到,多了注册模块,即业务微服务在接入XXL-JOB后,服务启动的时候会自动注册服务的ip地址到xxl_job_group表的address地址中。
4、XXL-JOB架构图 v1.7~v1.9
从图中可以看到架构演进到1.9版本时,已经出现很多新的功能和优化,其中1.7的时候执行器这块时自动注册的,后面版本迭代中是通过执行器中的注册线程来调用注册服务api进行服务注册,且开始自研RPC
5、XXL-JOB架构图 v2.0.0
6、XXL-JOB架构图 v2.1.0
在该版本中,原来基于quartz的调度转化为基于timewheel的调度
以上便是分布式调度XXL-JOB架构的演进过程,希望大家对分布式调度XXL-JOB有更进一步的了解。
感谢开源作者对于分布式调度XXL-JOB的贡献!