更强大、更全面的高性能任务调度框架:Openjob 重磅来袭!

dd03606b80985b0e2b630dfb5fe53c7f.gif

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

  • Cloud 项目地址:https://gitee.com/zhijiantianya/yudao-cloud

  • 视频教程:https://doc.iocoder.cn

来源:github.com/open-job/openjob

d6509161f06eccc25c5071eec89749d9.jpeg


介绍

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

a8c9972c97b993b350ecc0a0817cf305.jpeg

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

  • 视频教程:https://doc.iocoder.cn/video/

特性

高可靠

多种无状态设计,采用Master/Worker架构,支持多种数据库(MySQL/PostgreSQL/Oracle)

性能

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

定时

支持定时任务、固定频率任务、高性能秒级任务、间歇任务定时调度。

全局计算

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

延迟任务

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

工作流程

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

权限管理

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

报警监控

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

跨语言

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

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud

  • 视频教程:https://doc.iocoder.cn/video/

使用

Docker 拉取镜像
docker pull openjob/openjob-server:latest
运行容器

新增一个配置文件 .env,配置正确可用的数据库地址。

AKKA_REMOTE_HOSTNAME=LocalIP
OJ_DS_URL=jdbc:mysql://172.20.0.235:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
OJ_LOG_STORAGE_MYSQL_URL=jdbc:mysql://172.20.0.235:3306/openjob?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

提示

  • 数据库必须手动创建

  • 容器运行涉及多项参数配置,使用配置文件更方便,其次也可以启动时通过命令传递参数(环境变量)。

  • 配置 AKKA_REMOTE_HOSTNAME 为当前机器 IP,不能是 127.0.0.1,否则会导致网络不通,客户端通过 IP 连接 Server。

运行命令

docker run --env-file .env -it -d -p 8080:8080 -p 25520:25520 openjob/openjob-server:latest /bin/bash

运行成功,访问 http://127.0.0.1:8080/

  • 账号: openjob

  • 密码: openjob.io

优势对比

项目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) 4.Python(Agent)  5.脚本任务 6.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节点压力大。任务采用分片算法,每个节点都可以调度,无性能瓶颈,支持无限水平扩展,支持海量任务调度。

Openjob 适用于业务有一定的定时任务需求,非常适用于定时任务与延时任务一体化解决场景,比如每天凌晨数据清理、生成数据报表。同时适用于轻量级计算,可以使用 Map/MapReduce 实现分布式数据计算。对于复杂的任务流或任务编排场景可以使用可视化工作流,轻松解决。

文档

官方网站

  • https://openjob.io/

官方文档

  • https://openjob.io/zh-Hans/docs/intro/

Github

  • https://github.com/open-job/openjob



欢迎加入我的知识星球,全面提升技术能力。

加入方式,长按下方二维码噢

6df80cd0e11ea6cefe4399c17b1a9b8c.jpeg

星球的内容包括:项目实战、面试招聘、源码解析、学习路线。

aa6c62baab8cd230d80ab2641d0fec65.png

5cbf258508e6d335749a241d17b9b57e.png9e17ba53e55da9b97c0d35c13c6a2a5e.pngb0e52bb9ddb48d6327a67dd8a74ff622.png4e478e82cf4887751c0fe571cc43dacd.png

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值