定时任务概述

简介: 定时任务概述

什么是定时任务
通过时间表达式来进行调度和执行的一类任务被称为定时任务。一般能解决的业务场景:定时对账、服务到期的定时提醒、订单超时未支付的自动取消等。
有哪些定时任务实现方案
单体架构调度技术
轮询+线程休眠
while(true) + Thread.sleep
java.util.Timer + java.util.TimerTask
Timer是一个定时器工具,用来在一个后台线程计划执行指定任务,它可以计划执行一个任务或反复多次
TimerTask是一个抽象类,它的子类代表一个可以被Timer计划执行的任务
ScheduledExecutorService
JDK1.5之后作为并发工具被引入,默认只支持周期性的执行频率(如每秒/每分钟),要支持具体某一刻年月日时分秒的执行窗口需要自定义扩展,较麻烦
Quartz
开源任务调度框架,Java语言编写实现,支持Spring整合使用
SpringTask
spring框架提供的轻量级定时任务调用工具
SpringBoot框架下可使用注解:@EnableScheduling+@Scheduled,底层还是SpringTask
分布式架构调度技术
分布式场景可能遇到的问题
多台机器集群部署的定时任务如何保证不被重复执行
如果在不重启服务前提下,动态调整定时任务执行时间
部署定时任务的机器发生故障如何故障转移
如何对定时任务做任务监控
业界解决方案
淘宝:TBSchedule,现在是:ScheduleX
当当:Elastic-Job
唯品会:Saturn,基于当当的二次开发,新增一些特性
大众点评:XXL-JOB

相关文章
|
4月前
|
监控 Java 调度
定时任务概述
定时任务概述
96 1
|
5月前
|
前端开发 微服务
开发指南056-定时任务
业务场景中定时任务很常见。平台实现定时任务的原则如下
|
7月前
|
存储 Java 调度
线程池的概述和创建
线程池的创建,构造器需要分别传入什么参数
线程池的概述和创建
|
10月前
|
前端开发 调度 数据库
|
8月前
|
监控 Java 调度
若依修改定时任务,定时任务在系统监控的定时任务当中,宕机情况都不会去管,涉及到定时任务
若依修改定时任务,定时任务在系统监控的定时任务当中,宕机情况都不会去管,涉及到定时任务
|
缓存 Linux 调度
分布式定时任务
分布式定时任务
162 0
分布式定时任务
|
消息中间件 算法 Java
定时任务实现方案总结
定时任务实现方案总结
135 0
定时任务实现方案总结
|
负载均衡 Java 数据挖掘
定时任务实现的几种方式
定时任务实现的几种方式
312 1
|
关系型数据库 MySQL 调度
定时任务优化
简单描述一下定时任务的优化
165 0
|
存储 算法 安全
定时任务之elastic-job概述
定时任务之elastic-job概述
448 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等