美文网首页
对分布式任务调度的理解

对分布式任务调度的理解

作者: 黄二狗V | 来源:发表于2020-10-25 00:40 被阅读0次

    1.什么是分布式任务调度

    分布式任务调度就是在分布式环境下,定时任务的管理与执行

    2.分布式任务调度的特性

    • 分布式环境下,一个任务被部署在多实例的情况下,只有一个定时任务可执行
    • 一个定时任务可以分成多个小任务并行执行(通常称为切片)

    3.以Elastic-Job-lite框架为例说明

    1) 在分布式环境中,任务能够按指定的调度策略执⾏,并且能够避免同⼀任务多实例重复执⾏

    Elastic-Job依赖于Zookeeper进⾏分布式协调,每个Elastic-Job的任务执⾏实例App作为Zookeeper的客户端来操作ZooKeeper的znode,多个实例同时创建/leader节点,/leader节点只能创建⼀个,后创建的会失败,创建成功的实例会被选为leader节点执行任务

    2)去中心化
    • 任务执行节点对等
    • 任务执行由节点自触发,没有中心调度节点触发
    • 服务自发现,通过注册中心自发现
    • 执行节点非固定
    3) 任务分片

    任务分片就是将一个定时任务分成多个小任务,每个小任务可以并发执行,具体的分片策略也可以自由制定,分⽚和任务本身是通过⼀个注册中⼼协调的。

    4) 弹性扩容,高可用
    • 新增加⼀个运⾏实例,如job3,它会⾃动注册到注册中⼼,注册中⼼发现新的服务上线,注册中⼼会通知ElasticJob 进⾏重新分⽚
    • 如果所有的节点挂掉,只剩下⼀个节点,所有分⽚都会指向剩下的⼀个节点,这也是ElasticJob的⾼可⽤

    相关文章

      网友评论

          本文标题:对分布式任务调度的理解

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