【笔记首页】
1-1、导学
1、为什么要学习这门课
- 定时任务企业应用场景广泛:
定期备份数据
,定时发送短信
等 单节点
的定时任务服务遇到瓶颈
,难以满足企业发展要求- 分布式定时任务框架得以迅速发展,弥补不足
- 面试高频考点,跳槽必备技术,带你突破瓶颈
2、课程两大框架
- 分布式定时任务
Elastic-Job
- 企业级定时任务
Quartz
2.1、Elastic - Job
2.2、Quartz
- 传统的定时任务框架
- 支持集群
非常适合于数据量不大的,正在快速发展的中小企业
3、课程内容
4、分布式定时任务 Elastic-Job 精讲
5、企业级定时任务 Quartz 精讲
6、两大框架对比
7、课程必知
课程适合人群
只需掌握Java基础知识,MySQL的基础知识
课程学习后有哪些收获
初中级工程师
:熟练掌握定时任务
,在工作中迅速完成开发。高级工程师、架构师
:参与定时任务服务的整体设计与规划
,从架构、系统层面完善公司的定时任务服务。
1-2 为什么需要学习定时任务
1、应用场景
1.1、每天凌晨2点,执行数据备份
因为凌晨服务器压力很小,适合备份
1.2、“心跳”监控,每隔10s检测一下接口是否正常
1.3、每隔5分钟从淘宝、京东抓取订单到自己的系统
1.4、每分钟检测超时订单(30分钟未支付),自动取消
1-3 定时任务的技术发展趋势
1、发展过程
1.1、Linux系统中的Crontab
缺点
- 一个Cron表达式对于一个任务,所以你的jar包中只能包含一个任务(或者规则一样的多个任务)
1.2、Spring Task
缺点
- 不支持集群
1.3、Quartz & Quartz集群
支持集群
1.4、Elastic-Job
支持分布式
1-4 Quartz 和 Elastic-Job对比
1、主流框架及优缺点
1.1、Quartz
:企业级定时任务
优点
:与Spring集成、动态添加任务
、支持集群缺点
:不支持分布式
1.2、Elastic-Job
:分布式定时任务
优点
:与Spring集成、支持分布式、支持集群缺点
:动态添加的任务
,分布式中的其他机器不能执行
2、什么是分布式定时任务
1.1、概念
将一个任务拆分成多个独立的任务项,由分布式的服务器分别执行某一个或几个分片项
1.2、案例
:分布式定时任务(举例:处理100w订单)
分布式处理方案
订单被实例均分处理