一、Elastic-Job 简介
Elastic-Job 是一个分布式调度解决方案,是基于成熟的开源产品 Zookeeper 和 Quartz 及其客户端 Curator 进行二次开发并开源的一个Java分布式定时任务。由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic-Job-Cloud 组成。Elastic-Job-Lite 和 Elastic-Job-Cloud 提供同一套 API 开发作业,开发者仅需一次开发,即可根据需要以 Lite 或 Cloud 的方式部署。
Elastic-Job-Lite:定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。
Elastic-Job-Cloud:采用自研Mesos Framework的解决方案,额外提供资源治理、应用分发以及进程隔离等功能。
在项目当中,使用定时任务是避免不了的,在部署定时任务时,通常只部署一台机器。部署多台机器时,同一个任务会执行多次。只部署一台机器,可用性又无法保证。Elastic-Job框架可以帮助解决定时任务在集群部署情况下的协调调度问题,保证任务不重复不遗漏的执行
二、Elastic-Job 主要功能
-
定时任务: 基于成熟的定时任务作业框架Quartz cron表达式执行定时任务。
-
作业注册中心: 基于Zookeeper和其客户端Curator实现的全局作业注册控制中心。用于注