《ElasticJob 官网》

ElasticJob 用于处理分布式定时任务的需求,由于它是分布式的,所以它就需要依赖一些分布式组件,用于分布式锁的功能实现,而 ElasticJob 则依赖 Zookeeper 实现分布式锁。所以在使用之前就需要先 安装 Zookeeper。

ElasticJob 可以通过设置分片,编写分片逻辑,同一定时任务由多台服务器拆分执行,同时它有定时任务执行日志事件的数据库溯源配置

Elastic job 的使用

导入依赖:

<dependency>    <groupId>com.dangdang</groupId>    <artifactId>elastic-job-lite-core</artifactId>    <version>2.1.4</version></dependency><dependency>    <groupId>com.dangdang</groupId>    <artifactId>elastic-job-lite-spring</artifactId>    <version>2.1.4</version></dependency>

使用 ElasticJob 主要配置流程,如下:

  • JobScheduler (启动作业):
    • ZookeeperRegistryCenter (Zookeeper 注册中心配置)
    • LiteJobConfiguration (Lite作业根配置) -> JobCoreConfiguration (作业核心配置) -> SimpleJobConfiguration (SIMPLE 类型配置,最常用的类型) -> SimpleJob (作业逻辑实际开发)

如果结合使用 Spring 的 XML 配置,会简单很多。
这里结合 官方文档,做出了这个 Demo 包含了 xml 配置和 注释配置 两个实现方式。

Elastic Console

参考文章:《elastic-job、elastic-job-lite-console使用案例》

在 github 上下载对应的版本 zip,这边下载的是 2.1.4,直接在 window 系统下解压,命令行进入对应的解压目录,输入以下命令:

mvn clean install -Dmaven.test.skip=true

完成后,进入对应目录下的 elastic-job-lite\elastic-job-lite-console\target 文件夹中,复制 elastic-job-lite-console-2.1.4.tar.gz 到 Linux 服务器,解压后打开对应的 start.sh 文件,然后浏览器访问:ip 地址:8899,即可打开 ElasticJob 的控制台(注意打开 8899 防火墙端口)