elastic-job+springboot+zookeeper搭建分布式定时任务
开发环境
1.jdk.8
2.apache-maven-3.5.4
3.zookeeper-3.4.12(下面会详细介绍windows安装教程)
问题描述
在我们项目开发中会写很多定时任务,但是我们集群部署时候就尴尬了,如果用springboot自带的定时任务,多节点部署我们只能打包一个项目部署后,在打包另一个时候将另一个节点定时任务注释掉,但是单节点的定时任务,一旦出现问题整个定时任务全部宕掉,所以这时候就为了上面的问题出现了elastic-job分布式定时任务。下面我们简单了解整体elastic-job。
elastic-job和zookeeper
zookeepr如果不了解,请自行学习下zookeeper,后期我会单独讲解zookeeper,简单说几句:zookeeper就是注册中心,以key-value样的key为长久节点,value为临时节点存在的,类似于文件夹这样的树状结构!在市面上dubbo和zookeeper比较常见!
windows安装zookeeper
1.现在D盘建立一个zookeeper文件
2.在zookeeper文件下建立两个文件data和log两个文件
3.在zookeeper文件在建立个文件elasticjob-console(来放入elastic-job-lite-console控制
zookeeper我的网盘下载地址
链接:https://pan.baidu.com/s/1CuOIWlyy1hJWzEDsS8BZmA
提取码:i6fh
下载完zookeeper放入到上面建立的zookeeper文件下解压
在下载elasticjob-console控制台,这是管理elastic-job
数字化管理平台
链接:https://pan.baidu.com/s/1uZclYiF8-odQneVj1j9sKQ
提取码:8i5t
下载完elasticjob-console放入到上面建立的elasticjob-console文件下解压
上面操作完成后是下面截图的样子哦!!!
代码解释
1.pom.xml需要的jar
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>2.1.5</version>
</dependency>
<!-- import other module if need -->
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-spring</artifactId>
<version>2.1.5</version>
</dependency>
<!-- zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
</dependencies>
2.在application.properties
#加载文件
spring.profiles.include=job
#配置Elastic-Job需要的zookeeper
regCenter.serverList = localhost:2181
regCenter.n