开发者社区 问答 正文

SchedulerX for EDAS 是什么?



SchedulerX 简介


SchedulerX 是阿里中间件团队开发的一款分布式任务调度产品,在阿里内部有着广泛的使用,经过集团内上千个业务应用历经多年打磨而成。每天非常稳定的运行着集团内几十万个任务以及完成每天几亿次的任务调度。在未来 SchedulerX 将支持更多特性以满足集团内外不断增长的用户需求。
用户在应用中依赖 SchedulerX-Client,并在 SchedulerX 控制台创建定时任务,进行相应的参数配置后,启动该应用就可以接收到定时任务的周期调度。SchedulerX-Server 集群为调度触发提供高可用性和高稳定性的保证,并且可以实现对用户客户端机器集群进行分布式调度。

功能特性


  • 分布式
    不管是 SchedulerX 服务端还是客户端都是分布式架构设计,任务可以在多台客户端机器里的任何一台机器执行,如果客户端出现宕机的情况,服务端会自动选择正常运行的客户端(业务 App 机器)去执行 Job。

  • 高可用
    每个 Job 在服务端三台不同机器有一个备份,SchedulerX 服务端任意宕掉两台机器仍能保证 Job 正常调度。

  • 轻量服务
    用户不需要关心调度逻辑,只需要实现业务逻辑即可。

  • 简单易用
    用户只需要在业务应用里添加上 SchedulerX 的客户端 JAR 包,实现一个 JobProcessor 接口,然后再自主运维控制台配置上一个 Job 即可完成使用。

  • 支持 Quartz 时间表达式
    支持国际标准的 Quartz 时间表达式,该表达式精确到秒级别。

  • 友好的用户界面
    SchedulerX 提供了非常友好的自主运维控制台方便用户创建,删除,修改 Job。提供了立即触发执行一次的功能,方便用户测试以及关键时刻手动立即执行一次。还为用户提供了历史执行记录查询的功能,用户可以看到任何一个 Job 过去 100 次的历史执行记录。


应用场景


  • [backcolor=transparent]固定时间点触发的任务
    例如:2016年11月11日0点执行的一次任务。

  • [backcolor=transparent]周期性触发的任务
    例如:每秒钟(或者每小时、每天、每星期、每月等)执行一次的任务。

  • [backcolor=transparent]通过控制台手动触发的任务
    例如:可以通过控制台手功触发任务的调度执行。任务触发执行后,由用户实现的 Job 处理器接口中的代码决定具体要完成的业务逻辑功能(例如扫表、触发 RPC 调用、入库、执行本地脚本等)。

展开
收起
猫饭先生 2017-10-26 11:26:08 1766 分享 版权
阿里云 AI 助理回答

SchedulerX 是阿里巴巴自研的分布式任务调度平台,旨在满足大规模数据处理和复杂业务逻辑自动化的需求。它具备以下核心特性与功能:

分布式架构: - SchedulerX 采用分布式设计,支持在多台客户端机器上灵活执行任务,确保高可用性和负载均衡。即使某台客户端宕机,系统也能自动选择其他正常运行的客户端继续执行任务。

高可用性: - 通过在服务端为每个任务在三台不同机器上备份,保障即使两台服务器故障,任务调度仍能正常进行,确保业务连续性。

轻量级服务与易用性: - 用户无需关注底层调度逻辑,仅需专注于业务代码实现。集成过程简单,只需引入SchedulerX客户端JAR包并实现JobProcessor接口,然后在控制台配置任务即可。

时间表达式支持: - 支持国际标准的Quartz时间表达式,可精确到秒级别,满足多样化的定时需求。

用户界面友好: - 提供图形化运维控制台,便于创建、管理及监控任务,包括任务的即时触发、历史执行记录查询(最多可达最近100次记录)等功能,极大方便了日常运维与调试。

应用场景广泛: - 固定时间点触发:如特定促销活动开始时的一次性任务。 - 周期性触发:适用于需要按秒、分钟、小时等周期重复执行的任务。 - 手动触发:提供控制台操作,允许用户根据需要手动调度任务执行,灵活性高。

综上所述,SchedulerX凭借其分布式能力、高可用性、易用性以及强大的调度灵活性,成为处理各种定时、周期性或一次性任务的理想解决方案,特别适合电商大促、数据处理、日常运维自动化等场景。


参考来源: SchedulerX 简介与功能特性描述 分布式任务调度 SchedulerX 文档概述 典型应用场景介绍

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答