这几天和同学聊天时,聊到了她们公司在统一更换分布式调度服务的事情。之前使用的是基于LTS魔改的分布式调度系统,然而由于这个开源项目太久没有更新,且现今遇见了一些问题,因而公司在促进替换为PowerJob。这倒是唤起了阿姨的好奇心linux是什么系统,此次研究了一番,发觉PowerJob确实是个很棒的框架,在这儿推荐给你们。
何为PowerJob
PowerJob是全新一代分布式调度与估算框架,可以让用户轻松完成作业的调度与纷扰任务的分布式估算。这是一个朝气蓬勃的开源项目,汲取了各家主任linux压缩命令,功能更全面,开源维护更活跃。
整理了一下,主要有以下几个优点值得我来嚷嚷嘟囔:
纵向对比
市场上可用的调度框架那么多,我们来纵向对比一下,瞧瞧PowerJob究竟好在那里吧。如图所示:
使用手册
由于是尝鲜开源调度系统,所以我就用本地布署的形式来展示一下PowerJob。
本地布署
首先将源码clone到本地,用IDE打开项目,可以看见项目的结构。
在本地搭建的MySQL上创建一个名为powerjob-daily的schema,之后在application-daily.properties配置文件中配置好数据库的用户名和密码。
最后直接启动PowerJobServerApplication就可以啦。
web管理后台
服务启动成功后,访问:7700/即可步入登入页面。初次登陆须要注册一个新的应用,如图:
注册成功后,用昨天的用户名密码登入即可步入后台。
配置一个定时任务
这儿我们使用自带的powerjob-worker-samples模块来测试一下。
第一步,须要配置该模块的application.properties配置文件,将powerjob.worker.app-name置为我们刚刚注册的应用名称。如图:
第二步,更改模块中已有的StandaloneProcessorDemo类:
@Slf4j
@Component
publicclassStandaloneProcessorDemoimplementsBasicProcessor{
@Override
publicProcessResultprocess(TaskContextcontext)throwsException{
("任务执行啦~开源调度系统,执行参数:{}",context.getJobParams());
returnnewProcessResult(true);
第三步,步入web管理后台,点击两侧的任务管理,点击新建任务,配置任务名称、参数、定时信息以及执行的类,如图所示:
里面的cron配置是让每分钟的第5秒执行一次任务。
第四步,启动SampleApplication,查看日志输出。
定时任务成功执行了!
总结
好啦,明天就是帮大家探探路。果然PowerJob上手操作上去还是比较便捷的。其他的特点,屏幕前的大家假如感兴趣可以再探求一下哦。