论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Openjob:更强大、更智能的新一代分布式任务调度框架 ...
Openjob:更强大、更智能的新一代分布式任务调度框架
海哥
论坛元老
|
2023-6-8 13:24:17
|
显示全部楼层
|
阅读模式
楼主
主题
1727
|
帖子
1727
|
积分
5181
什么是 Openjob?
Openjob 基于Akka架构的新一代分布式任务调度框架。支持多种定时任务、延时任务、工作流设计,采用无中心化架构,底层使用一致性分片算法,支持无限水平扩容。
特性
Openjob 除了支持基本的任务调度,还提供延时任务、分布式计算以及工作流。
定时任务
普通定时任务,
支持Unix Crontab 表达式。
秒级定时任务,
适用于对实时性要求比较高的业务,例如执行间隔为3秒的定时调度任务。
固定频率任务,
Crontab 必须被 60 整除,不支持其它数量级时间间隔的任务,一般用于定期轮询场景。
延时任务
基于 Redis 实现高性能延时任务,一体化解决定时任务和延时任务,同时提供丰富的报表与统计。
分布式计算
单机,
随机选择一台机器完成任务执行。
广播,
应用所有机器同时执行且等待全部结束。
Map模型,
类似于 Hadoop 的Map。只需简单实现一个Map方法,就可以将海量数据分布到多台机器上执行。
MapReduce模型,
MapReduce模型是Map模型的扩展。所有子任务执行完成后执行Reduce方法,可以在Reduce方法中处理任务运行结果和数据。
静态分片,
类似Elastic-Job模型,控制台配置分片数,可以按照分片分配到不同的客户端执行,支持多语言版本。
执行器
普通执行器
,普通函数或类的方式执行任务
HTTP,
定时请求固定的地址。
Shell
,定时执行 shell 脚本
可视化运维
任务仪表盘
,丰富的任务统计和报表。
任务历史执行记录
,任务执行历史追溯。
任务运行日志
,完善的任务日志存储(H2/Mysql/Elasticsearch)
任务运行堆栈
,详细记录任务运行堆栈信息。
报警与权限
提供任务事件监控报警,以及详细的报警历史,同时支持企业微信、飞书、webhook触达通知。
命名空间方式设计,支持按钮级别权限管理,轻松应对复杂的项目管理。
多语言
Java
及其衍生框架,原生支持。
Go
支持 go mod 方式安装依赖,以及常见框架整合(Gin)。
PHP
支持通过 Golang agent 方式执行 PHP 任务。基于 Swoole 衍生框架(Swoft),支持 Composer 安装依赖直接使用。
Python
支持通过 Golang agent,方式执行 Python 任务。
适用场景
Openjob 适用于业务有一定的定时任务需求,非常适用于定时任务与延时任务一体化解决场景,比如每天凌晨数据清理、生成数据报表。同时适用于轻量级计算,可以使用 Map/MapReduce 实现分布式数据计算。对于复杂的任务流或任务编排场景可以使用可视化工作流,轻松解决。
开源对比
项目
Quartz
Elastic-Job
XXL-JOB
Openjob
定时调度CronCronCron* 定时任务
* 秒级任务
* 一次性任务
* 固定频率延时任务不支持不支持不支持基于 Redis 实现分布式高性能延时任务,实现定时与延时一体化任务编排不支持不支持不支持通过图形化编排任务(workflow)分布式计算不支持静态分片广播* 广播
* Map/MapReduce
* 多语言静态分片多语言Java* Java
* 脚本任务* Java
* 脚本任务* Java
* Go(Gin、beego)
* PHP(Swoft)
* Python(Agent)
* 脚本任务
* HTTP任务可视化无弱* 历史记录
* 运行日志(不支持存储)
* 监控大盘* 历史记录
* 运行日志(支持 H2/Mysql/Elasticsearch)
* 监控大盘
* 操作记录
* 查看日志堆栈可运维无启用、禁用任务* 启用、禁用任务
* 手动运行任务
* 停止任务* 启用、禁用任务
* 手动运行任务
* 停止任务报警监控无邮件邮件* 邮件
* webhook
* 企微
* 飞书性能每次调度通过DB抢锁,对DB压力大ZooKeeper是性能瓶颈由Master节点调度,Master节点压力大。任务采用分片算法,每个节点都可以调度,无性能瓶颈,支持无限水平扩展,支持海量任务调度。
更多内容
官网:
https://openjob.io
Github:
https://github.com/open-job/openjob
在线体验:
https://demo.openjob.io
QQ交流群: 849015265
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
海哥
论坛元老
这个人很懒什么都没写!
楼主热帖
makefile简单脚本编写和Linux调试器gdb ...
【第90题】JAVA高级技术-网络编程9(简 ...
CMOS图像传感器——黑电平校正 ...
什么是精准卫星授时?什么是NTP网络时 ...
windows提权-系统错误配置提权 ...
C++ 深度解析教程(十七)C 语言异常处 ...
TCP 时间戳妙用
Linux【实操篇】—— 日志管理 ...
如何使用 FlowUs 、Notion 等笔记软件 ...
姚凯大学生创业导论课后答案2022 ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
linux
Mysql
人工智能
MES
快速回复
返回顶部
返回列表