美文网首页
三分钟了解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