分布式任务调度SchedulerX

一、什么是分布式任务调度SchedulerX

        基于Akka架构的分布式任务调度平台,兼容开源XXL-JOB、ElasticJob,支持Cron定时、一次性任务、任务编排、分布式执行批量任务等功能,具备高可用、可视化、可运维、低延时等能力。

注:Akka 是一个用 Scala 编写的库,用于简化编写容错的、高可伸缩性的 Java 和 Scala 的 Actor 模型应用。

 

二、功能

1.调度

多种表达式的定时调度:

  • Crontab:支持Unix Crontab表达式,不支持秒级别。
  • Fixed rate:Crontab必须被60整除,不支持其他数量级时间间隔的任务。
  • Second delay:适用于对实时性要求比较高的业务,例如执行间隔为10秒的定时调度任务,支持秒级别。
  • 日历:支持多种日历,还可以自定义导入日历。
  • 时区:适用于跨国项目,如需要在每个国家所在时区执行定时任务。

2.执行

提供简单、易用的分布式编程模型,可以执行批处理任务:

  • 单机:随机挑选一台机器执行。
  • 广播:所有机器同时执行且等待全部结束。
  • Map模型:类似于Hadoop MapReduce里的Map。只要实现一个Map方法,简单几行代码就可以将海量数据分布式到多台机器上执行。
  • MapReduce模型:MapReduce模型是Map模型的扩展,废弃了postProcess方法,新增Reduce接口。所有子任务完成后会执行Reduce方法,可以在Reduce方法中返回该任务实例的执行结果,或者回调业务。
  • 分片运行:类似Elastic-Job模型,控制台配置分片参数,可以将分片平均分给多个客户端执行。支持多语言版本。

3.运维

运维能力:

  • 数据大盘:控制台提供了执行记录大盘和执行列表,可以看到每个任务的执行历史,并提供操作。
  • 查看日志:每次执行的调度任务都可以在详情中查看运行日志。如果任务执行失败,前端直接就能看到错误日志,非常方便。
  • 原地重跑:任务失败,修改完代码发布后,可以立即重新执行。
  • 标记成功:任务失败,如果后台把数据处理修正了,重新执行又需要几个小时,可以直接将任务标记为成功。
  • 停止任务调度任务:实现JobProcessor的kill()接口,您就可以在前端停止正在运行的任务,甚至子任务。

三、优势

1.高可靠

        通过分布式架构、数据三备份、消息At-least-once delivery、Failover和定期轮检等手段,保证任务调度和运行的高可靠。

2.高性能

        支持秒级别的调度,轻量级分布式计算可以帮助完成准实时的大数据跑批。

3.节约成本和提升效率

        无机器和人工运维成本,接入简单,提供报警监控。

4.安全防护

多层次的安全防护:

  • 支持HTTPS,VPC访问。
  • 支持用户隔离,命名空间隔离和应用隔离。
  • 支持RAM用户和临时AccessKey ID。

四、名词解释

1.AppGroup

        即应用分组,映射用户的具体应用,关键绑定机器,用来做业务的隔离。

2.DAG

        Directed Acyclic Graph,即有向无环图。所谓的有向无环图是指任意一条边有方向,且不存在环路的图。

3.Job

        即任务,Job是SchedulerX中调度的最小单位。

4.Job instance

        即任务实例,Job每次调度会产生一个JobInstance。

5.Namespace

        即命名空间,SchedulerX提供的资源隔离服务,不同命名空间之间逻辑上天然隔离。命名空间帮助你将多个环境间的资源完全隔离,并可以使用一个账号进行统一管理。

6.Task

        即子任务,并行计算/内存网络/网络计算,通过Map方法会产生Task。

7.Work Flow

        即工作流,Work Flow是一个DAG(有向无环图),用来做任务编排。

8.调度时间

        Job Instance每次调度的时间叫做调度时间,JobProcessor可以根据context.getScheduleTime()获取。

9.数据时间

        SchedulerX可以处理有数据状态的任务。创建任务的时候可以填数据偏移。

例如一个任务是每天00:30运行,但是实际上要处理上一天的数据,就可以向前偏移一个小时。运行时间不变,执行的时候通过context.getDataTime()获得的就是23:30(前一天)。

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值