曾经参与的项目(设计回顾篇)-xxljob引入

起因

据了解,项目一开始使用quartz,在代码中配置定时任务,不利于管理,每次修改任务都要重新修改代码然后发布,不利于维护,于是考虑应用调度框架。

框架选型

据了解,当时选择调度框架有几点考虑:要能够快速和系统无缝链接,上手快,配置简单,可以分布式部署,有管理平台。现在版本支持,文档丰富,并且期望原有项目改动较小、调研了xxl-job、elastic-job、Its,最终同事选用xxjob。

xxl-job结合项目搭建

xxl-job-admin是注册中心,xxl-jon-core是依赖核心包,executor是执行器

步骤

修改数据库为项目地址

xxljob数据库

再i修改执行器的配置文件,主要有端口和注册中心的地址

 改进

据了解,由于当时系统已经是微服务架构,每个微服务已经是一个执行器,在服务启动时不仅仅可以向eureka服务器端注册,还可以向xxl-job的管理平台注册,端口可以不同。因为xxljob给我们提供了这个功能,具体可以参照官方文档

这样做可以更少地修改自己的服务项目。于是按照文档指示,添加xxl-job-core的依赖后面同事写了一个配置类XxlJobInfoConfig,服务引入XxlJobInfoConfig所在的项目依赖,服务启动时读取服务的相关信息注册到xxl admin上,RESTful api调用,大致的过程就是读取服务名称、ip等作为XxlJobSpringExecutor并返回bean信息

 自动注册大概是这样的过程

最后说下各job的注册,也是在服务启动onApplicationEvent进行的。我们的job都继承了AbstractScheduleJob

后面我也尝试搭建xxljob,把源码down下来后,准备部署到自己的云服务器上,后面不了了之了,还是有点遗憾,过程中肯定会遇到很多问题。希望后面有机会在工作上让自己来搭建吧,问题不大,这篇也可以供参考。也希望能帮到大家。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值