定时任务

Spring 自带定时器Scheduled是单应用服务上的,不支持分布式环境。目前Spring集群环境下的定时任务调度执行的现成解决方案有 quartz 和 spring cloud task两种

quartz 和 spring cloud task都是只能用数据库解决,并且如果现有的项目一直用的是@Scheduled方式做定时任务,因为要做集群而改用 quartz 或 spring cloud task,那么全部定时任务都要重写改成对应的实现方式。所以,这就有了插件spring-scheduling-cluster。

spring-scheduling-cluster是对Spring原生的@Scheduled添加集群控制,原理是:使用如数据库、缓存等中间做分布式锁,对每个任务添加锁操作,控制每个任务每次只有一个服务器可以执行。

定时任务方式
1、Spring 自带定时器Scheduled。单应用服务上的,不支持分布式环境
2、quartz
3、spring cloud task
4、spring-scheduling-cluster。对Spring原生的@Scheduled添加集群控制,原理 ,使用如数据库、缓存等中间做分布式锁,对每个任务添加锁操作,控制每个任务每次只有一个服务器可以执行
5、Jenkins 定时构建发http请求。异构系统也支持,应用程序不用做分布式重复执行控制
6、Elastic-Job 分布式调度


Quartz

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目

Quartz任务调度的核心元素为:Scheduler——任务调度器、Trigger——触发器、Job——任务。其中trigger和job是任务调度的元数据,scheduler是实际执行调度的控制器。

Quartz集群依赖于数据库,所以必须首先创建Quartz数据库表,Quartz发布包中包括了所有被支持的数据库平台的SQL脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值