
0关注
552
文章
0
收藏
2
次赞
281266
查看
Ta的博客 更多
SpringBoot 五种获取ApplicationContext的方式java中进行日期时间比较的4种方法SpringBoot整合WebSocket实现前后端互推消息CSS怎么画五角星?SpringBoot中RedisUtils工具类配置及直接使用redis
1、生成订单30分钟未支付,则自动取消
2、生成订单60秒后,给用户发短信
3、对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别
简单易行,支持集群操作
1、对服务器内存消耗大
2、存在延迟,比如你每隔3分钟扫描一次,那最坏的延迟时间就是3分钟
3、假设你的订单有几千万条,每隔几分钟这样扫描一次,数据库损耗极大
JDK的延迟队列
2、生成订单60秒后,给用户发短信
3、对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别
1、定时任务有明确的触发时间,延时任务没有
2、定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期
3、定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务
下面,我们以判断订单是否超时为例,进行方案分析
2、定时任务有执行周期,而延时任务在某事件触发后一段时间内执行,没有执行周期
3、定时任务一般执行的是批处理操作是多个任务,而延时任务一般是单个任务
下面,我们以判断订单是否超时为例,进行方案分析
方案分析
优缺点
优点
简单易行,支持集群操作
缺点
:1、对服务器内存消耗大
2、存在延迟,比如你每隔3分钟扫描一次,那最坏的延迟时间就是3分钟
3、假设你的订单有几千万条,每隔几分钟这样扫描一次,数据库损耗极大
JDK的延迟队列
思路
输出如下
优缺点
思路
实现
输出如下
优缺点
1、思路
测试如下
优缺点
0 0