
ElasticJob
文章平均质量分 73
鲍倩和鲍新春
这个作者很懒,什么都没留下…
展开
-
一篇文章看懂Elastic-Job的执行原理
elastic-job是一个无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用方案。但是由于Quartz没有分布式扩容、高可用等能力,所以在系统中引进了Zookeeper,用Zookeeper来实现分布式管理的功能,在高可用方案的基础上增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。一、QuartzQuartz说由OpenSymphony提供的强大的开源任务调度框架,用来执行定时任务。比如每天凌晨三点钟需要从数据库导出数据,这时候就需要一个任务调度框架,原创 2021-07-11 23:09:49 · 3067 阅读 · 1 评论 -
Elastic-Job-Lite 的失效转移机制
Elastic-Job-Lite作为一个分布式任务调度组件,当某个执行的机器出现宕机故障时,需要将这个机器上没有执行的任务分配到其它机器上执行,这就是Elastic-job的失效转移机制。下面详细介绍一下Elastic-job-lite的失效转移机制Elastic-Job-Lite处理失效机制的几个类FailoverService,作业失效转移服务。 FailoverNode,作业失效转移数据存储路径。 FailoverListenerManager,作业失效转移监听管理器。一、作业节点失效监原创 2021-06-27 22:08:56 · 931 阅读 · 2 评论 -
Elastic-Job-Lite 的元数据管理
Elastic-Job-Lite作为一个分布式任务调度组件,通过Zookeeper来实现元数据的管理,下面介绍一下Elastic-Job-Lite的几个重要的元数据类。一、ConfigurationServiceConfigurationService是分布式作业配置服务,用来记录作业的配置信息。在zookeeper中的目录结构是 $jobName/config 对应的值是json格式的字符串,里面记录了本次作业的配置 在 Zookeeper 看一个作业的配置节点数据存储...原创 2021-06-26 12:50:51 · 336 阅读 · 2 评论 -
Elastic-Job-Lite 执行流程
Elastic-Job-Lite是一个被广泛使用的分布式任务调度框架,下面介绍一下运用Elastic-Job-Lite来执行分布式任务的例子public class MyElasticJob implements SimpleJob { public void execute(ShardingContext context) { System.out.println(context.toString()); switch (context.getSharding原创 2021-05-23 23:40:27 · 748 阅读 · 0 评论 -
Elastic-Job-Lite分片策略
Elastic-Job-Lite在运行时会对作业进行分片,通过继承JobShardingStrategy接口#sharding(...)来执行作业分片的操作public interface JobShardingStrategy { /** * 作业分片. * * @param jobInstances 所有参与分片的单元列表 * @param jobName 作业名称 * @param shardingTotalCount 分片总原创 2021-05-21 20:13:57 · 488 阅读 · 0 评论