一种基于微服务架构的任务调度平台
- 格式:pdf
- 大小:6.01 MB
- 文档页数:27
JOB管理
JOB管理
JOB管理
JOB管理
调度日志
开源
SIA-TASK作为SIA团队的一个重要产品, 在公司接入了数十个项目,运行着数百个 JOB,经受住了稳定性的考验。因此, SIA 团队将SIA-TASK于2019年5月22号正式开源。
-
SIA-TASK的设计思想是以任务为原子,把多个 任务按照执行的关系组合起来形成一个作业。 同时运行时分为任务调度中心和任务编排中 心,使得作业的调度和作业的编排分隔开来, 互不影响。在我们需要调整作业的流程时, 03 只需要在编排中心进行处理即可。同时编排 中心支持任务按照串行,并行,分支等方式 组织关系。在相同任务不同任务实例时,也 支持多种调度方式进行处理
术语
任务(Task) 作业(Job) 计划(Plan) 任务调度中心(Scheduler) 任务编排中心(Config) 任务执行器(Executer) Hunter
术语
作业(Job)
计划(Plan)
任务(Task)
组成
运行
特性
在暴露成HTTP服务的方法上加入 @OnlineTask注解,@OnlineTask会 自动抓取方法所在的IP地址,端口, 01 请求路径,请求方法,请求参数格 式等信息上传到任务注册中心 (zookeeper),并同步写入持久化存 储中,此方法即任务
串行
存在先后关系的两个任务
分支
根据前置任务的返回结果进 行判断,不同的结果执行不 同的后续任务
思考
平台化
微服务
因素
任务编排 任务分片
跨平台 无侵入
高可用/故障转移 可视化 实时监控 动态编辑
简介
Ø SIA是我们公司基础开发平台Simple is Awesome的简称
Ø SIA-TASK(微服务任务调度平台)是其中的一项重要产品,SIATASK契合当前微服务架构模式,具有跨平台,可编排,高可用, 无侵入,一致性,异步并行,动态扩展,实时监控等特点。SIATASK是任务调度的一体式解决方案。对任务进行元数据采集, 然后进行任务可视化编排,最终进行任务调度,并且对任务采 取全流程监控,简单易用。对业务完全无侵入,通过简单灵活 的配置即可生成符合预期的任务调度模型。
智能运维
可视化的任务实时监控 实时预警机制 半智能化对的自主修复,嗅探重试
负载均衡
如何保证调度负载均能; 如何保证资源隔离的负 载均能
使用
DIRECTORY
1 首页 2 调度器管理 3 调度监控 4 TASK管理 5 JOB管理 6 调度日志
首页
调度器管理
调度器管理
调度监控
TASK管理
TASK管理
基于注解 自动抓取
任务
任务执行过程中出现失败,异常 时。可以根据任务定制的策略进 行多点重新唤醒任务,保证任务 的不间断执行
调度器自 适应任务
分配
04
基于注解 无侵入多 线程控制
高度灵活 任务编排
模式
单一任务实例必须保持单线程运行,任务调度 框架自动拦截@OnlineTask注解进行单线程运 02 行控制,保持在一个任务运行时不会被再次调 度。而且整个控制过程对开发者完全无感知
关键点
元数据管理
微服务中各个任务元数据的管理同 步数据抓取,录入
பைடு நூலகம்
资源隔离
进程间的资源隔离; 进程内的资源隔离,提高系统 吞吐,提供稳定性
任务流
实现任务与任务之间可配置的流向关系,形成 有向无环图(DAG)。 任务流可由定时时间(Cron 表达式)或外部请求 (提供 API 地址) 开始,根据 DAG 逻辑执行
背景
在各种应用系统中,都常常存 在非常多批处理任务。为了方便开 发工作,我们常需要某种任务调度 系统帮助我们解决问题。
种类
Plane型
Subway型
Bus型
问题
忘记了还在运 行的定时任务
没有热备,单点运行定时 任务,故障转入手工处理
利用时间差来处理依赖 反复造成问题数据
关系
并行
可以并发执行的两个任务