您的位置:首页 > 其它

分布式任务调度平台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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分布式 任务调度