Elastic-job的设计理念及原理说明

上一篇 << 下一篇 >>>SpringBoot整合Elastic-Job示例


Elastic-job 是由当当网基于quartz二次开发之后的分布式调度解决方案 , 由两个相对独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成 。

设计理念

无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用方案。但数据库没有分布式协调功能,所以在高可用方案的基础上增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源,它依赖于zookeeper。

github地址:https://github.com/yinjihuan/elastic-job-spring-boot-starter

控制台搭建:https://github.com/elasticjob/elastic-job-lite

原理介绍

A、任务服务配置分片信息、zookeeper信息等
B、服务启动时,会在zookeeper下创建项目名称的节点,含有配置信息、分片实例等
C、任务调度时会从zookeeper中读取配置信息,执行相应的任务调度。

config是任务服务的整体配置信息,含节点信息、cron信息等,第一次执行的时候存入,只有一个。
Instances:所有实例的节点信息
Sharding:分片信息,里面会针对哪个节点。


推荐阅读:
<<<传统任务调度实现方案及demo示例
<<<传统任务调度存在的缺陷
<<<如何保证我们的定时任务只会触发一次
<<<定时任务宕机后如何处理
<<<分布式任务调度平台的特点
<< << <<<修改Elastic-Job默认session过期时间提升故障转移速度
<< << << << << << <<

你可能感兴趣的:(Elastic-job的设计理念及原理说明)