分布式任务调度平台Antares
2017-03-17 11:53
741 查看
分布式任务调度平台(Distributed Job Schedule Platform)
Antares特性
基于Quartz的分布式调度
一个任务仅会被服务器集群中的某个节点调度,调度机制基于成熟的Quartz,antares内部会重写执行逻辑;并行执行
用户可通过对任务预分片,有效提升任务执行效率;失效转移
客户端实效转移:当某个客户端实例在执行任务中宕机时,其正在执行的分片将重新由其他客户端实例执行;服务器失效转移:当服务器集群中某个节点宕机时,其正在调度的任务将转移到其他节点去调度;
弹性扩容
客户端扩容:客户端可通过增加应用实例,提升任务执行的效率;服务器扩容:服务器集群可通过增加节点,提升集群任务调度的服务能力;
进程级的应用实例
antares通过ip+进程号标识客户端应用实例,因此支持单机多应用实例部署;管理控制台
用户可通过控制台antares-tower对任务进行基本操作,如触发,暂停,监控等;任务依赖
antares支持树形任务依赖,当某任务执行完成后,会通知其后置任务执行。名称术语
应用(App)用于标识或分组,如用户服务,订单服务等;
应用实例(App Instance)
某应用下的客户端实例,即某个进程实例;
任务(Job)
即被调度的实体,仅会由某一服务器节点调度;
任务实例(Job Instance)
每当任务被触发时,则会生产一个任务实例,执行完成后,则为任务历史;
任务分片(Job Instance Shard)
即任务的预分片配置,包含分片数和分片参数,用户可通过客户端实例执行任务时被分配的分片项及其分片参数,自己实现分片逻辑;
分片项(shardItem)、分片参数(shardParam)
分片项(shardItem),即当应用实例任务执行时,被分配的任务下标,从0开始;分片参数,即任务下标对应的配置参数。
应用场景
通常,对于有以下场景或需求时,可以考虑使用分布式任务调度:需要保证任务执行的高可用性:即当执行任务的应用实例崩溃后,其他应用实例可以继续执行该任务;
要求任务执行效率足够高:在业务数据量级比较大时,可以使用预分片配置来将数据进行逻辑分片,使得多个应用实例能并行执行任务分片,以提升任务的执行效率。
Antares架构
Antares整体架构
Antares中的任务状态机
其他
最近文档可见Github。相关文章推荐
- 分布式任务调度平台Antares
- 开源分布式任务调度平台Cuckoo-Schedule
- 分布式任务调度平台研究(总)
- 数人云|关于分布式任务调度平台,数人云的经验都在这里了
- .net 分布式架构之任务调度平台
- 开源分布式任务调度平台Cuckoo-Schedule
- 数人云|关于分布式任务调度平台,数人云的经验都在这里了
- 分布式任务调度平台XXL-JOB
- 分布式任务调度平台XXL-JOB
- 接入-分布式任务调度平台XXL-JOB
- 肖德时:分布式任务调度平台实践探讨
- 【开源】.net 分布式架构之任务调度平台
- 分布式任务调度平台XXL-JOB
- 分布式任务调度平台XXL-JOB
- 分布式任务调度平台XXL-JOB
- 分布式任务调度平台XXL-JOB配置笔记
- 【转载】A lightweight distributed task scheduling framework.(分布式任务调度平台XXL-JOB)
- 分布式任务调度平台XXL-JOB
- 分布式任务调度平台XXL-JOB
- 一个轻量级的分布式定时任务调度平台-Cloudtask