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

谈谈对分布式调度的理解

作者: 筱平哥哥 | 来源:发表于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