今天介绍一个轻量级的分布式任务调度平台,开发速度快,易学,轻量级,易扩展。290家公司在用,就是XXL-JOB,包括大家熟知的大众点评、京东、优信二手车、北京尚德、360金融(360)、联想集团(Lenovo)、易信(网易)等等等等……目前xxl-job在Github上已经star了12.1K,Fork有5.2K(Github地址:https://github.com/xuxueli/xxl-job)。总共有35个主要特征。如下图所示:xxl-job将调度行为抽象为一个“调度中心”的公共平台,但平台本身不承担业务逻辑,“调度中心”负责发起调度请求。任务被抽象成分散的JobHandler,由“执行者”管理,“执行者”负责接收调度请求,执行相应JobHandler中的业务逻辑。因此,可以将“调度”和“任务”两部分相互解耦,提高系统整体的稳定性和扩展性;承担业务代码。调度系统与任务解耦,提高了系统的可用性和稳定性。同时,调度系统的性能不再受限于任务模块;支持调度信息可视化、简单化、动态化管理,包括任务创建、更新、删除、GLUE开发和任务告警等,以上操作实时生效,支持监控调度结果和执行日志,以及支持执行器故障转移。执行模块(executor):负责接收调度请求,执行任务逻辑。任务模块专注于任务执行等操作,让开发和维护更简单、更高效;它接收来自“调度中心”的执行请求、终止请求和日志请求。架构图:XXL开源社区发布了一系列开源软件产品,涉及分布式、基础中间件、效率工具等领域。包含的项目有:任务调度、配置中心、注册中心、消息队列、RPC通信、API管理、SSO、爬虫、Excel工具、代码生成……等。
