ejob集成

1.ejob集成
1.1添加Pom
在这里插入图片描述

1.2任务类型
任务类型有三种:
SimpleJob
SimpleJob:简单实现,未经任何封装的类型。需实现SimpleJob接口。
在这里插入图片描述
DataFlowJob
DataFlowJob:Dataflow类型用于处理数据流,必须实现fetchData()和processData()的方法,一个用来获取数据,一个用来处理获取到的数据。
在这里插入图片描述
ScriptJob
Script:Script类型作业意为脚本类型作业,支持shell,python,perl等所有类型脚本。

2.ejob配置
在这里插入图片描述
作业配置分为3级,分别是JobCoreConfiguration,JobTypeConfiguration和LiteJobConfiguration。
LiteJobConfiguration使用JobTypeConfiguration,JobTypeConfiguration使用JobCoreConfiguration,
层层嵌套。
在这里插入图片描述
JobTypeConfiguration根据不同实现类型分为SimpleJobConfiguration,DataflowJobConfiguration和ScriptJobConfiguration。E-Job使用ZK来做分布式协调,所有的配置都会写入到ZK节点。

3.ZK注册中心数据结构
一个任务一个二级节点。
这里面有些节点是临时节点,只有任务运行的时候才能看到。注意:修改了任务重新运行任务不生效,是因为ZK的信息不会更新,除非把overwrite修改成true。
在这里插入图片描述
config节点
JSON格式存储。
存储任务的配置信息,包含执行类,cron表达式,分片算法类,分片数量,分片参数等等。
在这里插入图片描述
config节点的数据是通过ConfigService持久化到zookeeper中去的。默认状态下,如果你修改了Job
的配置比如cron表达式、分片数量等是不会更新到zookeeper上去的,除非你在Lite级别的配置把参数
overwrite修改成true。
在这里插入图片描述
instances节点
同一个Job下的elastic-job的部署实例。一台机器上可以启动多个Job实例,也就是Jar包。instances的命名是IP+@-@+PID。只有在运行的时候能看到。
在这里插入图片描述
leader节点
在这里插入图片描述
任务实例的主节点信息,通过zookeeper的主节点选举,选出来的主节点信息。在elasticjob中,任务的执行可以分布在不同的实例(节点)中,但任务分片等核心控制,需要由主节点完成。因此,任务执行前,需要选举出主节点。下面有三个子节点:election:主节点选举sharding:分片failover:失效转移election下面的instance节点显示了当前主节点的实例ID:jobInstanceId。election下面的latch节点也是一个永久节点用于选举时候的实现分布式锁。sharding节点下面有一个临时节点,necessary,是否需要重新分片的标记。如果分片总数变化,或任务实例节点上下线或启用/禁用,以及主节点选举,都会触发设置重分片标记,主节点会进行分片计算。
servers节点
在这里插入图片描述
任务实例的信息,主要是IP地址,任务实例的IP地址。跟instances不同,如果多个任务实例在同一台机器上运行则只会出现一个IP子节点。可在IP地址节点写入DISABLED表示该任务实例禁用。

sharding节点
在这里插入图片描述
任务的分片信息,子节点是分片项序号,从0开始。分片个数是在任务配置中设置的。分片项序号的子节点存储详细信息。每个分片项下的子节点用于控制和记录分片运行状态。最主要的子节点就是i
nstance。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值