不愧是全新一代,拳打xxl-job,脚踢LTS,这就是开源界最强分布式调度框架?(带私活源码)

这几天和朋友聊天时,聊到了他们公司在统一更换分布式调度服务的事情。之前使用的是基于 LTS 魔改的分布式调度系统,但是因为这个开源项目太久没有更新,且现在遇到了一些问题,因此公司在推动替换为 PowerJob。这倒是勾起了我的好奇心,因为前段时间让同事用 xxl-job 替换掉了同样不太好用的 QuartZ,那时候还没有调研 PowerJob。于是这次研究了一番,发现 PowerJob 确实是个很棒的框架,在这里推荐给大家。

何为PowerJob

PowerJob 是全新一代分布式调度与计算框架,可以让用户轻松完成作业的调度与繁杂任务的分布式计算。这是一个朝气蓬勃的开源项目,吸取了各家所长,功能更全面,开源维护更活跃。

大叔整理了一下,主要有以下几个优点值得我来念叨念叨:

  • 提供了 web 界面,方便用户使用

  • 有完善的定时策略:支持 CRON 表达式、固定频率、固定延迟和 API 四种定时调度策略

  • 无锁化设计,性能理论上没有上限

  • 依赖精简,最小依赖仅为关系型数据库,PowerJob 本身就实现了类似 zookeeper 的分布式服务注册与发现功能

  • 支持任意 Spring Data Jpa 支持的关系型数据库,包括但不限于 MySQL、Oracle 等

  • 支持 DAG 工作流

横向对比

市场上可用的调度框架这么多,我们来横向对比一下,看看PowerJob到底好在哪里吧。如图所示:

图片

使用指南

因为是尝鲜,所以我就用本地部署的方式来展示一下 PowerJob。

本地部署

首先将源码 clone 到本地,用 IDE 打开项目,可以看到项目的结构。

图片

在本地搭建的 MySQL 上创建一个名为 powerjob-daily 的 schema,然后在 application-daily.properties 配置文件中配置好数据库的用户名和密码。

图片

最后直接启动 PowerJobServerApplication 就可以啦。

web 管理后台

服务启动成功后,访问http://127.0.0.1:7700/ 即可进入登录页面。初次登录需要注册一个新的应用,如图:

图片

注册成功后,用刚才的用户名密码登录即可进入后台。

配置一个定时任务

这里我们使用自带的 powerjob-worker-samples 模块来测试一下。

第一步,需要配置该模块的 application.properties 配置文件,将 powerjob.worker.app-name 置为我们刚才注册的应用名称。如图:

图片

第二步,修改模块中已有的 StandaloneProcessorDemo 类:

@Slf4j
@Component
public class StandaloneProcessorDemo implements BasicProcessor {

    @Override
    public ProcessResult process(TaskContext context) throws Exception {
        log.info("任务执行啦~,执行参数:{}", context.getJobParams());
        return new ProcessResult(true);
    }
}

第三步,进入 web 管理后台,点击左侧的任务管理,点击新建任务,配置任务名称、参数、定时信息以及执行的类,如图所示:

图片

上面的 cron 配置是让每分钟的第 5 秒执行一次任务。

第四步,启动 SampleApplication,查看日志输出。

图片

定时任务成功执行了!

总结

好啦,今天就是帮你们探探路。果然 PowerJob 上手操作起来还是比较方便的。其他的特性,屏幕前的你们如果感兴趣可以再探索一下哦。赶快去看看吧~

GitHub - PowerJob/PowerJob: Enterprise job scheduling middleware with distributed computing ability.

 

写在最后(私活源码)

​今天还给大家分享一套基于Springboot+Vue仓库管理系统源码,在实际项目中可以直接复用。(免费提供,文末自取)

一、系统运行图(设计报告和接口文档)

1、登陆页面

2、物品信息管理

3、设计报告包含接口文档

二、系统搭建视频教程(部分截图)

源码免费领取方式

扫码关注本号,后台回复 仓库

扫码关注本号,后台回复 仓库 

持续关注本号,分享更多项目源码

分享一些关于学习Java编程方面的经验

在当今的软件开发领域,Java是一种非常流行和广泛使用的编程语言。无论是大型企业级应用程序还是小型个人项目,Java都是一个强大而可靠的选择。本文将为您提供一份关于如何开发Java项目的指南,帮助您顺利进行项目开发。

1. 确定项目需求:在开始开发之前,首先要明确项目的需求和目标。这包括功能需求、性能需求、用户体验等方面。通过与项目相关人员的沟通和讨论,确保对项目的理解一致。

2. 设计项目架构:在开始编码之前,需要设计项目的架构。这包括确定项目的模块划分、数据库设计、接口定义等。良好的架构设计可以提高代码的可维护性和扩展性。

3. 选择合适的开发工具和框架:Java生态系统中有许多优秀的开发工具和框架可供选择。根据项目需求和团队经验,选择合适的工具和框架可以提高开发效率和代码质量。

4. 编写清晰的代码:编写清晰、可读性强的代码是良好的编程实践。使用有意义的变量名、注释和代码结构,可以提高代码的可维护性和可理解性。

5. 进行单元测试:单元测试是保证代码质量的重要手段。编写单元测试用例,并使用合适的测试框架进行测试,可以及早发现和修复潜在的问题。

6. 版本控制和团队协作:使用版本控制工具(如Git)来管理代码的版本和变更记录。同时,与团队成员保持良好的沟通和协作,确保项目进展顺利。

7. 完善文档和注释:良好的文档和注释可以帮助他人理解和使用您的代码。在开发过程中,及时更新文档和注释,以便后续维护和扩展。

8. 进行集成测试和部署:在开发完成后,进行集成测试,确保各个模块之间的协同工作正常。然后,将项目部署到生产环境,并进行性能测试和安全测试。

9. 持续改进和优化:软件开发是一个不断迭代和改进的过程。通过收集用户反馈和监控系统性能,不断优化和改进项目,以提供更好的用户体验和性能。

Java项目开发需要一系列的步骤和技巧,但最重要的是保持代码质量和团队协作。通过遵循上述指南,您可以更好地规划和管理Java项目开发过程,从而提高项目的成功率和质量。祝您在Java项目开发中取得优秀的成果!

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值