定时任务麻烦的问题核心应该是大多数定时都是通过分钟级以上时间轮询,所以在秒级来看就会产生远超下单时的并发,但是如果能秒级定时,那么基本不可能超过下单时的并发处理量,而且吧下单时还需处理运费、优惠等等,库存处理也更复杂,本身来说取消订单就比下单更快,所以吧下单能抗住,取消扛不住的可能能几乎没有吧,再说吧定时触发后还要进入队列由异步任务处理,而异步处理任务的工作进程一般时固定的,那么并发基本就是固定的啊,什么队列抗不住这种问题除非你是淘宝拼多多,否则想这个完全是多余
顺便说无论下单或者取消都是一个流程问题,怎么能归结为一个 update sql 呢,订单撤回,优惠撤回,库存撤回,这难道不是一个流程么
下单需要及时响应,取消订单不需要啊,你真的并发太高,短时间一般任务无法处理完,晚一点也不算啥问题啊,所以不要想太多
https://github.com/snower/forsun之前做过的一个定时的服务,用在订单取消还是很方便的,使用 redis 持久化存储稳定性性能也还可以,秒级定时,不会出现并发累积的问题,但是吧要是你这种动辄几万几十万并发的可能还是不行,但是真这么高订单的全中国的没几个吧,算是一种思路吧