阿里云分布式任务调度SchedulerX2.0正式商业化

前言

Schedulerx2.0是阿里中间件自研的基于Akka架构的新一代分布式任务调度平台,提供定时、任务编排、分布式跑批等功能,具有高可靠、海量任务、秒级调度等能力。

Schedulerx2.0在公有云公测2年,服务超过1000家公司,积累了丰富的经验,稳定性也得到了足够的验证。为了提供更优质的服务,于2021.9.1正式商业化,同时也会带来更加强大的能力。



强大功能

定时调度

Crontab

  • 支持可视化的crontab表达式
  • 支持时间偏移,可以通过数据时间做跨天的业务
  • 支持时区,可以做国际化的定时任务

阿里云分布式任务调度SchedulerX2.0正式商业化


Fixed rate

众所周知,crontab必须被60整除,比如想每隔40分钟跑一次,cron不支持。Fixed rate专门用来做定期轮询,表达式简单。

阿里云分布式任务调度SchedulerX2.0正式商业化


秒级别调度

通过second_delay表达式可以支持秒级别调度,适合不停执行的实时业务,业务不能中断。

阿里云分布式任务调度SchedulerX2.0正式商业化

任务编排

schedulerx2.0支持工作流(DAG)进行任务编排,操作简单,前端直拖拖拽拽即可。详细的任务状态图能一目了然看到下游任务为什么没跑,如下图:

阿里云分布式任务调度SchedulerX2.0正式商业化


schedulerx2.0的工作流还支持上下游数据传递


轻量级分布式编程模型

支持单机、广播、分片、MapReduce多种分布式执行模型。

  • 单机模型:业务多节点部署时,保证不重复执行。
  • 广播模型:所有节点都执行同一逻辑,全部执行完还可以由一台机器回调一次postProcess方法,常用在批量运维,批量清理日志、缓存。
  • 分片模型:支持类似elastic-job的分片模型,常用在分库分表的跑批。
  • MapReduce模型:Schedulerx2.0自创的轻量级分布式编程模型,只需要实现map和reduce方法,就可以将海量数据分布式到多台机器运行,相对于传统大数据跑批:
    • 成本低:直接复用在线应用的机器,不需要额外计算资源
    • 速度快:不需要数据导入导出,直接跑批线上数据库、oss等,可以作为实时业务的跑批
    • 学习简单:不需要大数据的知识,会java就行
    • 可以处理负责的业务:在线业务处理往往逻辑很复杂,传统大数据跑批sql无法满足,使用java高级语言可以处理复杂逻辑,还可以直接复用业务接口。


多语言

除了java语言,schedulerx还支持多种语言的任务类型

阿里云分布式任务调度SchedulerX2.0正式商业化


其中http任务是serverless,不需要注册客户端就能执行。Schedulerx的http任务支持签名认证,防止用户的http接口被恶意攻击。

丰富的任务运维能力

  • 支持对堵塞任务的手动停止、超时自动停止。
  • 支持对失败任务的原地重跑、标记成功。
  • 支持重刷数据:通过数据时间+重刷数据,可以重刷历史上的数据,把漏跑的任务重新执行。

商业化报警

  1. 报警通道支持短信、钉钉机器人、邮件

阿里云分布式任务调度SchedulerX2.0正式商业化

  1. 报警类型支持失败报警、超时报警、无可用机器报警等

阿里云分布式任务调度SchedulerX2.0正式商业化


  1. 每个任务都可以单独配置报警联系人,也可以使用应用的报警联系人组


全新的权限体系

本次商业化带来了全新的权限体系,支持阿里云RAM权限,支持读写等细粒度权限控制。



新增站点

本次商业化,新增了香港、新加坡、德国、美国、日本站点。

用户有其他站点的需求,可以提工单给我们,我们会尽量满足。


未来规划

日志收集

收集客户端的任务调度日志,甚至是应用日志,可以直接在控制台看到日志,分析任务失败的原因。


弹性扩缩容

离线任务分布式跑批的时候,可以动态扩容机器加快处理速度。跑批结束,可以缩容,节省机器成本。


一次性任务

一个任务只在未来某个时刻点执行一次,执行完自动销毁。

上一篇:SQL中的子查询


下一篇:SchedulerX2.0支持一次性任务