开篇语 程序=数据结构+算法,由此可见,数据结构是多么的重要,任何一个框架底层都有自己数据存储结构,elastic-job-lite是一个开源的分布式任务调度框架,其基于zk来存储运行时job信息,配置信息等等...,也就是说zk是它的注册中心,所以它的数据结构也和zk有关,今天我们就一起聊聊elastic-job-lite数据结构,一起揭开它的神秘面纱。
elastic-job-lite简介 elastic-job是当当网开源的分布式任务调度系统,基于quartz二次开发实现的,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud...elastic-job-lite架构 elastic-job-lite轻量级的,去中心化的,上面说过他是基于quartz的,所以他的调度由使用其jar的项目驱动的,引入了zookeeper和分片的概念的为多台机器调度提供了协调和并行...,并且配备一个运维端来管理job ---- elastic-job-lite架构图 ?...elastic-job-lite使用 elastic-job-lite 入门使用 首先准备好zk集群,elastic-job-lite使用zk作为注册中心 在自己的项目中引入maven依赖 <dependency...//脚本作业 public class MyElasticJob implements ScriptJob { } elastic-job-lite三种作业的配置相关 elastic-job-lite
Code Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。...Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务;Elastic-Job-Cloud采用自研Mesos Framework的解决方案,额外提供资源治理
开篇词 elastic-job-lite在项目中使用也有两个多月的时间了,从一开始搜索网上教程,参考别人使用方法,到后面阅读源码,理解其架构,实现。...也写了几篇关于ejl的架构,流程处理,数据结构的文章,中间也经历了很多坑,也有了一些最佳实践,这篇文章写一下总结,但不是ejl的结尾,后续还会有ejl的文章,下面附上前几篇的链接: elastic-job-lite...入门以及架构原理分析 elastic-job-lite 既然去中心化,为何要选举主节点 elastic-job-lite 数据结构分析 使用心得 ejl中有三种job作业类型,simple, dataflow
官网: https://shardingsphere.apache.org/elasticjob/current/cn/user-manual/elasticj...
概述 本文主要分享 Elastic-Job-Lite 作业配置。 涉及到主要类的类图如下( 打开大图 ): ?...注册中心的初始化,我们会在《Elastic-Job-Lite 源码解析 —— 注册中心》详细分享。...在《Elastic-Job-Lite 源码解析 —— 作业分片策略》详细分享。...在《Elastic-Job-Lite 源码解析 —— 作业执行 》详细分享。...在《Elastic-Job-Lite 源码解析 —— 作业监听器》详细分享。 3.
概述 本文主要分享 Elastic-Job-Lite 运维平台。内容对应《官方文档 —— 运维平台》。 运维平台实现上比较易懂,就不特别啰嗦的解析,简略说下每个类的用途和 UI 上的关联。
概述 本文主要分享 Elastic-Job-Lite 作业分片策略。 涉及到主要类的类图如下( 打开大图 ): ?...List> sharding(List jobInstances, String jobName, int shardingTotalCount); } Elastic-Job-Lite...Elastic-Job-Lite 默认的作业分片策略。 如果分片不能整除,则不能整除的多余分片将依次追加到序号小的作业节点。...嘿嘿嘿,为《Elastic-Job-Lite 源码分析 —— 作业分片》做个铺垫嘛。 道友,赶紧上车,分享一波朋友圈!
概述 本文主要分享 Elastic-Job-Lite 作业数据存储。 涉及到主要类的类图如下( 打开大图 ): ?...在《Elastic-Job-Lite 源码分析 —— 作业分片》详细解析。...《Elastic-Job-Lite 源码分析 —— 作业执行》的「4.6」执行普通触发的作业已经详细解析。...《Elastic-Job-Lite 源码分析 —— 作业执行》的「4.7」执行被错过触发的作业已经详细解析。...《Elastic-Job-Lite 源码分析 —— 作业失效转移》详细解析。
开篇语 上一篇文章介绍了elastic-job-lite的入门,架构。...使用和一些流程,里面提到elastic-job-lite是一个去中心化,轻量级的任务调度框架,那为什么elastic-jib-lite在启动时要选取主节点呢?...难道我看错了,哈哈,不可能的,后文 elastic-job-lite简称ejl。
概述 本文主要分享 Elastic-Job-Lite 作业分片。 涉及到主要类的类图如下( 打开大图 ): ?...粉色的类在 com.dangdang.ddframe.job.lite.internal.sharding 包下,实现了 Elastic-Job-Lite 作业分片。...第四种,在《Elastic-Job-Lite 源码解析 —— 自诊断修复》详细分享。 3....《Elastic-Job-Lite 源码分析 —— 作业分片策略》有详细分享。...橘色叉叉在《Elastic-Job-Lite 源码解析 —— 作业失效转移》有详细分享。
概述 本文主要分享 Elastic-Job-Lite 注册中心。 涉及到主要类的类图如下( 打开大图 ): ?...黄色的类在 elastic-job-common-core 项目里,为 Elastic-Job-Lite、Elastic-Job-Cloud 公用注册中心类。...作业节点数据访问类( JobNodeStorage )的在主节点执行操作、在事务中执行操作两个方法和注册中心协调分布式服务有关系,从《Elastic-Job-Lite 源码解析 —— 作业数据存储》摘出来...在《Elastic-Job-Lite 源码解析 —— 主节点选举》中,我们会看到 #executeInLeader(...) 的使用。
概述 本文主要分享 Elastic-Job-Lite 主节点选举。...建议前置阅读: 《Elastic-Job-Lite 源码分析 —— 注册中心》 《Elastic-Job-Lite 源码分析 —— 作业数据存储》 《Elastic-Job-Lite 源码分析 —— 注册中心监听器...为什么需要选举主节点 首先我们来看一段官方对 Elastic-Job-Lite 的介绍: Elastic-Job-Lite 定位为轻量级无中心化解决方案,使用 jar 包的形式提供分布式任务的协调服务。...无中心化,意味着 Elastic-Job-Lite 不存在一个中心执行一些操作,例如:分配作业分片项。Elastic-Job-Lite 选举主节点,通过主节点进行作业分片项分配。...Curator LeaderLatch 在《Elastic-Job-Lite 源码分析 —— 注册中心》「3.1 在主节点执行操作」有详细解析。
概述 本文主要分享 Elastic-Job-Lite 作业执行。 涉及到主要类的类图如下( 打开大图 ): ?...黄色的类在 elastic-job-common-core 项目里,为 Elastic-Job-Lite、Elastic-Job-Cloud 公用作业执行类。...每个作业可以配置不同的处理器,在《Elastic-Job-Lite 源码分析 —— 作业配置》的「2.2.2」作业核心配置已经解析。...通过这个方法,作业获得其所分配执行的分片项,在《Elastic-Job-Lite 源码解析 —— 作业分片》详细分享。...重新执行被错过执行的作业交给 Elastic-Job-Lite 处理。
概述 本文主要分享 Elastic-Job-Lite 注册中心监听器。 建议前置阅读: 《Elastic-Job-Lite 源码分析 —— 注册中心》 涉及到主要类的类图如下( 打开大图 ): ?...在《Elastic-Job-Lite 源码分析 —— 作业初始化》「3.2.4」注册作业启动信息,我们看到作业初始化时,会开启所有注册中心监听器: // SchedulerFacade.java /**...JobNodeStorage#addDataListener(…) 在《Elastic-Job-Lite 源码分析 —— 作业初始化》「2.2」缓存已经详细解析。...isServerChange(final String path) { return serverNode.isServerPath(path); } } } 在《Elastic-Job-Lite
概述 本文主要分享 Elastic-Job-Lite 作业初始化。 涉及到主要类的类图如下( 打开大图 ): ?...Elastic-Job-Lite 使用 Quartz 作为调度内核。...同一个 Elastic-Job-Lite 实例,不同的作业使用相同的作业实例主键。 设置作业监听器,在《Elastic-Job-Lite 源码解析 —— 作业监听器》详细分享。...《Elastic-Job-Lite 源码解析 —— 作业分片》详细分享。...初始化作业监听服务,在《Elastic-Job-Lite 源码解析 —— 作业监控服务》详细分享。
简介 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。...Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。...相同任务聚合至相同的执行器统一处理 节省系统资源与初始化开销 动态调配追加资源至新分配的任务 6、易用性 完善的运维平台 提供任务执行历史数据追踪能力 注册中心数据一键dump用于备份与调试问题 整体架构图 Elastic-Job-Lite...gitee.com/elasticjob GitHub:https://github.com/elasticjob/elastic-job 采用公司:http://elasticjob.io/docs/elastic-job-lite
概述 本文主要分享 Elastic-Job-Lite 自诊断修复。...在 Elastic-Job-lite 里,调解分布式作业不一致状态服务( ReconcileService ) 实现了自诊断修复功能。...作业分片逻辑,在《Elastic-Job-Lite 源码分析 —— 作业分片》有详细解析。...在《Elastic-Job-Lite 源码分析 —— 主节点选举》有详细解析。 调用 ShardingService#isNeedSharding() 方法,判断当前作业是否需要重分片。
领取专属 10元无门槛券
手把手带您无忧上云