文章目录
- 1.定时任务
- 2.被动取消
- 3.延时消息
大家对电商购物应该都比较熟悉了,我们应该注意到,在下单之后,通常会有一个倒计时,如果超过支付时间,订单就会被自动取消。
今天,我们来聊聊订单超时未支付自动取消的几种方案。
1.定时任务
这是最容易想到的办法,定时任务去轮询数据库,取消即将超时的订单。
定时任务实现方式有很多种,大概可以分为两类:本地定时任务和分布式定时任务。
本地定时任务,适用于单机版的业务系统,实现方式非常多样:
-
永动机线程:开启一个线程,通过sleep去完成定时,一些开源中间件的某些定时任务是通过这种方式实现的。
-
JDK Timer:JDK提供了Timer API,也提供了很多周期性的方法。
-
延