elastic job
elastic-job主要分为elastic-job-lite 和elastic-job-cloud两部分
可在https://github.com/elasticjob上下载源码,今天我们主要学习elastic-job-lite。
首先我们要了解一下什么是任务调度,调度就是将一个任务套上一个时间,让该任务可以在时间规律上去循环执行。一般的技术quartz、spring task、java.util.Timer,这几种如果在单一机器上跑其实问题不大,但是如果一旦应用于集群环境做分布式部署,就会带来一个致命的问题,那就是重复执行,当然解决方案有,但是必须依赖数据库,将任务执行状态持久化下来。所以当当就把quartz和zookeeper结合起来达到分布式调度,并且添加其他功能,形成了elastic-job。
功能列表:
分布式调度协调
弹性扩容缩容
失效转移
错过执行作业重触发
作业分片一致性,保证同一分片在分布式环境中仅一个执行实例
自诊断并修复分布式不稳定造成的问题
支持并行调度
支持作业生命周期操作
丰富的作业类型
Spring整合以及命名空间提供
运维平台
下面我们来学习一下elastic-job-lite
一、搭建elastic -job 环境(本文 windows下)
1、下载源码(https://github.com/elasticjob/elastic-job-lite)
2、打包,找到elastic-job-lite 下面的elastic-job-lite-console,我是用的maven,最终得到elastic-job-lite-console-2.1.5.tar.gz。
3、解压包,在bin文件夹下执行./start.bat (Linux 下sh文件,-p 可以指定端口号) 。
4、启动成功访问 地址:端口号 localhost:8899/#,进入管理界面。