Elastic-Job-Lite 分析( 作业配置)
2017-09-08 17:35
483 查看
1. 概述
本文主要分享 Elastic-Job-Lite 作业配置。Elastic-Job-Lite涉及的类图:
黄色的类在 elastic-job-common-core 项目里,为 Elastic-Job-Lite、Elastic-Job-Cloud 公用作业配置类。
2. 作业配置
一个作业( ElasticJob )的调度,需要配置独有的一个作业调度器( JobScheduler ),两者是 1 : 1 的关系。这点大家要注意下,当然下文看代码也会看到。作业调度器的创建可以配置四个参数:
a.注册中心( CoordinatorRegistryCenter ):用于协调分布式服务。必填。
b.Lite作业配置( LiteJobConfiguration ):必填。
c.作业事件总线( JobEventBus ):对作业事件异步监听。选填。
d. 作业监听器( ElasticJobListener ):对作业执行前,执行后进行同步监听。选填。
2.1 注册中心配置
Elastic-Job 抽象了注册中心接口( RegistryCenter ),并提供了默认基于 Zookeeper 的注册中心实现( ZookeeperRegistryCenter )。
ZookeeperRegistryCenter 对应配置类为 ZookeeperConfiguration。该类注释很完整,可以点击链接直接查看源码,这里我们重点说下 namespace 属性。如果你有多个不同 Elastic-Job集群 时,使用相同 Zookeeper,可以配置不同的 namespace 进行隔离。
2.2 Lite作业配置
LiteJobConfiguration 继承自接口 JobRootConfiguration,作为 Elastic-Job-Lite 里的作业( LiteJob )配置。Elastic-Job-Cloud 的作业( CloudJob )对应另外的配置类,也实现了该接口。
public final class LiteJobConfiguration implements JobRootConfiguration { private final JobTypeConfiguration typeConfig; private final boolean monitorExecution; private final int maxTimeDiffSeconds; private final int monitorPort; private final String jobShardingStrategyClass; private final int reconcileIntervalMinutes; private final boolean disabled; private final boolean overwrite; // .... 省略部分get方法 public static class Builder { // .... 省略部分属性 public final LiteJobConfiguration build() { return new LiteJobConfiguration(jobConfig, monitorExecution, maxTimeDiffSeconds, monitorPort, jobShardingStrategyClass, reconcileIntervalMinutes, disabled, overwrite); } } } 这里写代码片
typeConfig:作业类型配置。必填
monitorExecution:监控作业运行时状态。默认为 false。选填。
monitorPort:作业监控端口。默认为 -1,不开启作业监控端口。选填。
maxTimeDiffSeconds:设置最大容忍的本机与注册中心的时间误差秒数。默认为 -1,不检查时间误差。选填。
2.2.1 作业类型配置
作业类型配置接口( JobTypeConfiguration ) 有三种配置实现,针对三种作业类型:
SimpleJobConfiguration SimpleJob 简单作业。例如:订单过期作业
DataflowJobConfiguration DataflowJob 数据流作业。
ScriptJobConfiguration ScriptJob 脚本作业。例如:调用 shell 脚本备份数据库作业
相关文章推荐
- elastic-lite-job作业运行痕迹
- Elastic-Job-Lite分析——作业调度器 JobScheduler 的创建过程
- elastic-lite-job配置信息
- [置顶] Elastic-Job-Lite 源码阅读 ---- 作业执行
- elastic-lite-job作业监控服务
- 【高可用】分布式作业系统 Elastic-Job-Cloud 源码分析
- 专访当当网张亮:深度解读分布式作业调度框架elastic-job
- Elastic-Job项目源码分析3-- 浅谈源码分析
- JobTracker作业启动过程分析
- SqlServer链接服务器配置及其在作业更新时出现 [SQLSTATE 42000](错误 7410)的分析处理
- Elastic-job-lite 2.1.3 代码详解
- Elastic-Job项目源码分析4--为什么会有这么多的service?
- [置顶] Elastic-Job-Lite 源码阅读 ---- 任务初始化
- 详解当当网的分布式作业框架elastic-job
- 源码分析Elastic-Job前置篇:Spring自定义命名空间原理
- 【源码分析】Elastic-Job源码分析之JobScheduler类分析
- JobTracker作业启动过程分析
- 当当网张亮:深度解读分布式作业调度框架elastic-job
- Elastic-Job项目源码分析4--核心执行器AbstractElasticJobExecutor
- 【实战Elastic-Job】--详解当当网分布式作业框架