跳到主要内容

简介

Openjob 是一款分布式高性能任务调度框架,支持多种定时任务、延时任务、工作流设计、轻量级分布式计算、无限水平扩容,并具有较高的可伸缩性和容错性,以及完善权限管理、强大的告警监控、原生支持多语言。

特性

高可靠

分布式无状态设计,采用 Master/Worker 架构,支持多样的数据库(H2/MySQL/PostgreSQL/Oracle/TiDB)。

高性能

底层使用一致性分片算法,全程无锁化设计,任务调度精确到秒级别,支持轻量级分布式计算、无限水平。

定时调度

支持分布式定时任务、固定频率任务、高性能秒级任务、一次性任务定时调度。

分布式计算

支持单机、广播、Map、MapReduce 和分片多种分布式编程模型,轻松实现大数据分布式计算。

延时任务

基于 Redis 实现高性能延时任务,底层实现任务多级存储,提供丰富的统计和报表。

工作流

内置工作流调度引擎,支持可视化 DAG 设计,简单高效实现复杂任务调度。

权限管理

完善的用户管理,支持菜单、按钮以及数据权限设置,灵活管理用户权限

报警监控

全面的监控指标,丰富及时的报警方式,便于运维人员快速定位和解决线上问题。

跨语言

原生支持 Java/Go/PHP/Python 多语言 ,以及Spring Boot、Gin、Swoft 等框架集成。

开源对比

项目QuartzElastic-JobXXL-JOBOpenjob
定时调度CronCronCron1. 定时任务 2. 秒级任务 3. 一次性任务 4. 固定频率
延时任务不支持不支持不支持基于 Redis 实现分布式高性能延时任务,实现定时与延时一体化
任务编排不支持不支持不支持通过图形化编排任务(workflow)
分布式计算不支持静态分片广播1. 广播 2. Map/MapReduce 3. 多语言静态分片
多语言Java1. Java 2. 脚本任务1. Java 2. 脚本任务1. Java 2. Go(Gin、beego) 3. PHP(Swoft)* Python(Agent) 4. 脚本任务 5. HTTP任务
可视化1. 历史记录 2. 运行日志(不支持存储)3. 监控大盘1. 历史记 2. 运行日志(支持 H2/Mysql/Elasticsearch)3. 监控大盘 4. 操作记录 5. 查看日志堆栈
可运维启用、禁用任务1. 启用、禁用任务 2. 手动运行任务 3. 停止任务1. 启用、禁用任务 2. 手动运行任务 3. 停止任务
报警监控邮件邮件1. 邮件 2. webhook 3. 企微 4. 飞书
性能每次调度通过DB抢锁,对DB压力大ZooKeeper是性能瓶颈由Master节点调度,Master节点压力大。任务采用分片算法,每个节点都可以调度,无性能瓶颈,支持无限水平扩展,支持海量任务调度。

文档

联系我们

  • 微信群助手:
wx
  • 微信公众号:
wx