文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为什么说 PowerJob 是新一代分布式任务调度框架?

2024-11-29 19:37

关注

主流的任务调度框架并不少,比如 Quartz、Spring Batch、xxl-job、PowerJob 等。PowerJob 被称为是全新一代分布式任务调度与计算框架,今天来聊一聊这个框架。

1.使用简单

PowerJob 的使用非常简单,搭建 PowerJob 环境,可以采用容器或 jar 包方式进行部署。使用容器方式更简单一些。可以参考官方的容器部署方法:

https://www.yuque.com/powerjob/guidence/docker-compose

这里我采用本地启动工程的方式来进行讲解。首先下载 PowerJob 源码,命令如下:

git clone https://github.com/PowerJob/PowerJob.git

下载到本地后用 idea 打开,powerjob-server 就是 PowerJob 的服务端源码。编译通过后,修改数据库连接信息,如下图:

修改完成后,就可以启动服务了。这是一个 Springboot 工程,启动类在 PowerJobServerApplication.java。

服务启动后,在浏览器输入地址 ,就可以访问了。

http://localhost:7700/

先创建一个用户,然后登录进去,再创建一个应用,就可以体验了。

创建应用应用列表进入应用

可以看到,Powerjob 的使用真的是非常简单。

2.产品对比

下图来自 PowerJob 官网,是 PowerJob 跟同类产品的对比。

2.1 定时任务

新建一个任务,如下图:

从最新版本的配置界面看,PowerJob 定时任务支持 6 种,如下图:

除了常见的 API、CRON、固定频率、固定延迟外,PowerJob 还支持工作流和每日固定间隔这 2 个方式。下图是每日固定间隔的配置:

PowerJob 引入工作流类型的定时任务,支持在线配置任务依赖关系(DAG),以可视化的方式对任务进行编排,同时还支持上下游任务间的数据传递,以及多种节点类型(判断节点 & 嵌套工作流节点)。工作流管理见下图:

2.2 生命周期

生命周期的配置在很多业务场景下是比较有用的。比如跟一个三方公司的合作时间是 1 年,一年后任务自动停止。

2.3 调度方式

在调度方式上,PowerJob 摒弃了传统调度框架基于数据库锁的设计,采用无锁化的设计方式,性能大幅度提升。

2.4 执行配置

在执行配置方面,PowerJob 支持单机执行、广播执行、Map 执行、MapReduce 执行。

单机执行表示只有一个节点执行任务,广播执行则是所有节点都执行这个任务。

Map 执行表示将数据拆分成多个子任务,交给多个分布式节点进行执行,以提高执行效率。

MapReduce 执行是使用 MapReduce 的大数据处理能力,通过分组计算然后合并来提升执行效率,主要用于复杂的大数据场景。

2.5 运行时配置

运行时配置支持 HEALTH_FIRST、RANDOM 和 SPCIFY 三种类型。HEALTH_FIRST 会查找第一个健康的节点来运行。RANDOM 表示随机选择一个节点来运行。SPCIFY 则是指定一个节点来运行。

2.6 数据库支持

PowerJob 支持任意 Spring Data Jpa支持的关系型数据库,只需要修改配置文件就可以使用。

2.7 监控告警

任务调度往往有很多大数据和批量作业的需求,这些需求对业务来说非常重要,出问题后影响范围也比较大 。能通过监控告警及时让运维和研发感知到任务执行结果是很有必要的。

PowerJob 支持邮件告警,并通过接口来提供扩展,使用的公司可以扩展接入自己的 OA 消息,方便地通知到责任人。

3.总结

技术发展到现在,主流的任务调度框架已经可以满足 90% 以上的使用场景了。新一代的任务调度框架,一定要具备解决复杂业务问题的能力,而且性能也要更加优秀,使用简单灵活。从这些方面讲,PowerJob 可以称得上是新一代的分布式任务调度框架了。

来源:君哥聊技术内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯