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

谈谈对分布式调度的理解

作者: 筱平哥哥 | 来源:发表于2020-05-19 22:59 被阅读0次

    文 平哥 | 20200519

    分布式调度是什么?

    调度:指的是定时任务
    分布式调度:指的就是在分布式集群环境下的定时任务

    定时任务和消息队列的异同点有哪些?

    • 共同点:
      1)都能进行异步处理
      2)都可以作为两个应用之间的齿轮实现应用解耦
      3)都可以进行流量削峰

    • 不同点:
      1)定时任务是时间驱动;消息队列是事件驱动
      2)时间驱动是不可替代的
      3)定时任务作业更倾向于批处理,消息队列则倾向于逐条处理

    分布式调度框架工具必须要有的功能

    • 分布式调度协调
      可以管理任务按指定的调度策略执行,并避免同一任务多实例重复执行
    • 支持丰富的调度策略
      基于Quartz cron表达式执行调度任务
    • 支持弹性灵活扩、缩容
      可支持灵活增减调度实例,且不影响整体调度任务
    • 容错率高
      某实例失效后,可自动调用其他实例来执行任务
      某任务错过执行,会自动记录并且上次任务完成后自动触发再次执行
    • 支持并行分配任务
      可将大任务分片拆分,在多个实例中同时执行。
    • 分片一致性
      同一片分布式环境中仅有一个分片执行实例

    以Elastic-Job-Lite举例说明

    去中心化&轻量级

    image.png

    弹性扩容&高可用

    新增一个运行实例Task3,就会自动注册到注册中心,于是注册中心就能通知ElasticJob重新分片,所有实例再次一起执行调度任务。


    image.png

    就算所有节点都挂掉仅剩一个节点,所有任务分片就都会指向这一个节点,体现了Elastic-Job的高可用。

    相关文章

      网友评论

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

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