XXL-JOB版与开源产品对比
本文主要介绍任务调度 XXL-JOB 版本与开源产品的比对。
功能集 | 功能 | 开源 XXL-JOB | MSE XXL-JOB |
兼容性 | 协议兼容 | 不同版本间的数据库表结构可能不同,会导致不兼容,升级需要手动配置,且存在故障风险。 | 兼容v2.2.0~v2.4.1所有版本,升级不需要手动配置,且不存在故障风险,支持开源版到托管版的不停机迁移,且无需修改代码。 |
基础能力 | 调度类型 | cron | cron、fixed_rate、one_time、api。 |
时区 | 不支持 | 支持 | |
自定义日历 | 不支持 | 支持 | |
指定开始时间 | 不支持 | 支持 | |
广播分片 | 不支持聚合 | 支持聚合 | |
运维动作 | 手动运行、停止。 | 手动运行、停止、原地重跑、重刷数据。 | |
认证鉴权 | 不支持 | 支持 | |
稳定性 | 任务并发控制 | 客户端控制,多个executor无法做到幂等执行,导致任务重复执行,浪费计算资源,甚至引发故障。 | 服务端控制,可以做到全局幂等执行。 |
拖垮数据库可能性 | 每次调度都会在数据库保留历史执行记录,默认是存最近30天的记录,导致xxl_job_log表数据量增长太快,拖垮整个数据库的性能,从而影响任务调度。 | 已优化,解决了开源XXL-JOB的历史记录存储问题。 | |
调度任务漏发可能性 | 每次调度都需要通过数据库捞取要调度的执行计划,如果捞取超时了,就会导致任务漏触发。 | 已优化,解决了执行计划捞取超时导致的漏触问题。 | |
客户端日志丢失可能性 | 调度特别频繁会导致小文件特别多,从而影响客户端的性能,一旦客户端机器挂了,这台机器上所有日志文件也会丢失。 | 已优化,解决了机器故障导致的日志文件丢失问题。 | |
安全 | 单点登录 | 不支持 | 支持 |
细粒度权限控制 | 不支持 | 支持不同资源的授权和不同操作的授权。 | |
资源授权 | 不支持 | 支持 | |
资源隔离 | 不支持 | 支持应用使用独立的 Access Token。 | |
可观测能力 | 调度事件 | 不支持 | 支持 |
操作记录 | 不支持 | 支持 | |
日志 | 存在客户端,每次执行产生一个小文件,有性能和稳定性问题。 | 存储在日志服务,支持查看最近2个月的日志。 | |
报警监控 | 报警方式 | 邮件 | 邮件、webhook、短信、电话。 |
报警联系人 | 不支持 | 集成云监控联系人。 |