美文网首页
三分钟了解elastic-job-lite

三分钟了解elastic-job-lite

作者: liuhailong | 来源:发表于2019-01-15 17:45 被阅读0次

1.怎么使用Elastic-job-lite?

(1)安装zookeeper。

(2)编写客户端。

(3)启动客户端(可启动多个)。

2.Elastic-job-lite的客户端怎么编写?

(1)编写Elasticjob实现类。

(2)创建LiteJobConfiguration实例(需要:任务名、任务实现类名、cron表达式、分片总数量)。

(3)创建CoordinatorRegistryCenter实例(需要:zookeeper地址、命名空间)。

(4)创建JobScheduler实例(需要:LiteJobConfiguration和CoordinatorRegistryCenter实例)

(5)调用jobScheduler.init()启动客户端(可启动多个实例)。

然后任务就分成多个分片,在多个实例上执行了。

增加新分片,可以自动重新分配分片;节点故障,可以自动failover。

3.任务如何创建、分配和执行的?

(1)多个实例(每个客户端启动一次,认为是一个实例,以“192.168.72.18@-@21668”格式标识)启动后,首先选主,主可以执行分配分片的操作。

(2)“主实例”按任务配置的分片总数量 和 存活的实例数,进行分片分配。分配策略可自己实现。分配好后,写入zookeeper: /[namespace]/[jobName]/sharding/[0]/instance节点。

(3)实例启动后,按cron表达式启动quartz调度,定时执行:AbstractElasticJobExecutor. execute()。

(4)在execute方法中,客户端根据本地instanceId(格式如:192.168.72.18@-@21668)同zookeeper中分片分配信息比对,确定需要自己执行的分片id集合(形如:[4,5,6])。

(5)依照分配给自身分片id集合,逐个调用用户实现的Elasticjob类。

相关文章

网友评论

      本文标题:三分钟了解elastic-job-lite

      本文链接:https://www.haomeiwen.com/subject/ixoydqtx.html