设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 数据 手机
当前位置: 首页 > 服务器 > 系统 > 正文

如何办好分布式任务调度 Scheduler 的一些探索

发布时间:2022-08-23 15:24 所属栏目:52 来源:互联网
导读:
导读:找准定位:分布式任务调度平台 无论是互联网应用或者企业级应用,都充斥着大量的任务。我们常常需要一些任务调度系统帮助我们解决问题。随着微服务化架构的逐步演进,单体架构逐渐演变为分布式、微服务架构。在此的背景下,很多原先的单点式任务调度平台已经
  找准定位:分布式任务调度平台
  无论是互联网应用或者企业级应用,都充斥着大量的任务。我们常常需要一些任务调度系统帮助我们解决问题。随着微服务化架构的逐步演进,单体架构逐渐演变为分布式、微服务架构。在此的背景下,很多原先的单点式任务调度平台已经不能满足业务系统的需求。于是出现了一些基于分布式的任务调度平台。
 
  Scheduler 是飞书内的分布式任务调度平台。分布式任务调度能力主要包括:
 
  分布式:平台是分布式部署的,各个节点之间可以无状态和无限的水平扩展(保证可扩展);
  任务调度:涉及到任务状态管理、任务调度请求的发送与接收、具体任务的分配、任务的具体执行;(集群中哪些机器什么时候执行什么任务,所以又需要一个可以感知整个集群运行状态的配置中心);
  配置中心:可以感知整个集群的状态、任务信息的注册。
  摸清脉络:Scheduler的结构和核心模块

  可以发现,Scheduler主要有以下三个部分:
 
  调度器 (Scheduler):任务调度中心,负责管理任务的生命周期。接受任务注册,准时准确找出待触发的任务,进行任务拆分下发。找出与之关联的执行器并下发对应任务;
  执行器 (Executor):接收调度任务,并将自身状态上报给调度器;
  控制台 (Web 前端):负责配置执行器的信息以及调度任务的配置、任务状态、信息展示。
  因此,我们可以用一句话解释清楚 Scheduler 所做的事情,即:在「指定时间」「通知执行器」以「指定方式」执行任务
 
  这句话中包含了三个关键点,也分别代表着 Scheduler 的三个核心模块:
 
  指定时间:任务的触发规则,如:每天早上8点、每周二、每月15号等。触发器模块(Launcher Cron)负责任务触发;
  指定方式:任务的执行形式,如:单播任务-指定一个机器执行;广播任务-指定所有机器执行;分片任务-任务分阶段分批的执行。分派器模块(Assignment Cron)负责任务的执行方式;
  通知执行器:将任务发送到指定执行器,执行任务。派遣器模块(Dispatcher Cron)负责任务的发送,采用流式通信,调度器以推送的方式将任务发送给执行器。

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读