整体架构图(官网)
-
目录结构
elastic-job-lite-core: Java支持模块,可直接使用
elastic-job-lite-console: lite界面模块,可直接使用
elastic-job-lite-lifecyle: lite作业相关操作模块,不可直接使用
elastic-job-lite-spring: Spring命名空间支持模块,可直接使用 -
注册中心结构
假如注册中心及作业配置如下:
<!--配置作业注册中心 -->
<reg:zookeeper id="regCenter" server-lists="localhost:2181"
namespace="my-job" base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000" max-retries="3" />
<!-- 配置作业-->
<job:simple id="myJob1" class="com.cw.job.MyElasticJob"
registry-center-ref="regCenter" cron="*/15 * * * * ?" sharding-total-count="2" sharding-item-parameters="0=0,1=1" job-parameter="10001" overwrite="true"/>
<job:simple id="myJob2" class="com.cw.job.MyElasticJob"
registry-center-ref="regCenter" cron="0 0 */10 * * ?" sharding-total-count="1" sharding-item-parameters="0=0" job-parameter="10000"/>
my-job为根目录,对应注册中心的命名空间,即reg:zookeeper/节点的namespace
myJob1、myJob2为配置的作业id,每个作业对应一个子节点
每个作业节点下又包含5个数据子节点,分别是config, instances, sharding, servers和leader。
目录名 | 说明 |
---|---|
leader | 内部节点, 主要作用为主节点选举、分片标识、及失效转移 |
servers | 作业服务器信息存贮节点,节点名为服务器IP地址 |
config | 作业配置信息存贮节点,JSON字符串 |
instances | 作业运行实例信息,子节点是当前作业运行实例的主键(IP+PID),写入TRIGGER表示该实例立即执行一次 |
sharding | 分片信息,子节点为分片项(0~N),分片项序号的子节点存储详细信息。每个分片项下instance、running、failover、misfire、disabled子节点用于控制和记录分片运行状态 |
节点说明 :