调度elasticjob原理流程

本文介绍了Elastic-Job-Lite的原理,包括添加作业配置、创建Quartz调度器、启动监听器和注册信息,以及任务调度执行过程。该框架通过分布式协调实现弹性功能,适用于高效利用分布式服务器资源和执行定时任务。
摘要由CSDN通过智能技术生成

Elastic-Job是一个无中心化的分布式定时调度框架,它主要由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。Elastic-Job-Lite是一个轻量级的解决方案,使用jar包的形式提供分布式任务的协调服务。下面将重点介绍Elastic-Job-Lite的原理流程。

Elastic-Job-Lite的整体架构中并没有作业调度中心节点,而是基于部署作业框架的程序在到达相应时间点时各自触发调度。其注册中心仅用于作业注册和监控信息存储,而主作业节点则用于处理分片和清理等功能。

Elastic-Job-Lite的工作原理可以概括为以下几个步骤:

  1. 添加或更新作业配置信息:在启动服务时,程序会进入JobSchedule类的init方法,进行任务的初始化等操作。这时,会添加或更新作业配置信息,并将配置信息持久化到Zookeeper上。
  2. 创建Quartz调度器:作业的调度执行依赖Quartz技术。因此,会创建一个Quartz调度器,用于按照设定的时间规则触发任务的执行。
  3. 启动监听器和注册信息:启动所有的监听器,包括leader选举监听、失效转移监听、分片监听等。并发起主节点选举,将leader节点信息set到leader/election/instance节点下。同时,将服务器信息、实例信息注册到Zookeeper上,并且在leader/sharding下创建necessary节点,作为重新分片的标记。
  4. 任务调度执行:最后,由Quartz调度器根据cron表达式调度执行。当定时任务启动时,会进入LiteJob类,它实现了Quartz框架的Job接口。在这个实现类中,会完成失效转移项执行、重新分片、获取并执行本机任务项、错过任务重触发等操作。

Elastic-Job-Lite通过以上的原理和流程,实现了分布式调度协调、弹性扩容缩容、失效转移、错过执行作业重触发、作业分片一致性保证等功能,从而能够更大限度地利用分布式服务器的资源,并执行定时任务。

以上是对Elastic-Job-Lite原理流程的简要介绍,如需更详细的信息,可以查阅Elastic-Job的官方文档或相关教程。

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值