主要的场景为:设计一个电商系统,需求为 例如某商品库存为1000。当张三购买了商品3个,此时便会为其生成一个订单,超时时间为15分钟,并且在系统的库存内为其扣除3个库存(系统库存此时为997)
当前设计逻辑:当每一个订单生成的时候,便使用Quartz设计一个在15分钟之后执行的Job(该Job会将订单的状态与库存全部回调)。因此,如果此时拥有三个订单存在,那么系统内便会有三个准备要执行的Job。
原本,我认为既然Quartz在Spring内这个受欢迎(好吧,至少你搜索定时任务什么的,出来的都是Quartz),那么它内部必然是多线程的,就如同Netty一样。但是,在设计完之后,我们老大又说其不是如此设计,它的基本原理与最近本的Timer差不多
因此,我便有了几个疑惑,
1.Quartz其内部设计模式是不是如此呢?
2.Quartz能否实现当前的这个电商问题呢?
3.如果不能,那么Quartz正确的使用方式是什么呢?
4.如果不能,那么我最好使用什么样的方式或者框架工具来帮助我解决这个问题呢?
如果知道答案的大佬能否告诉在下呢???? 先谢谢各位大佬了
【Quartz可行性】 使用Quartz设计电商订单超时,是否线上可行?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
咕泡-灰灰老师 2021-07-19 14:55关注Quartz其实就是一个调度,你考虑下是否支持时效性,既然是定时调度,肯定有个调度时间的,那么这个时间就是你要能接受的时间差
还有,用也应该是用ejob或者xxl-job
还有,你这个场景也可以用rabbit的延时队列解决 无用评论 打赏 举报