精准定时任务设计思路
type: drafts
[原创]个人理解,请批判接受,有误请指正。转载请注明出处: https://heyfl.gitee.io/design/precise-timing-task-design.html
这里主要是以订单超时取消为例
粗略记录,日后完善
- 取消任务先加入数据库(持久化存储),后加入当前节点时间轮(本地内存)
- 通过时间轮任务,触发订单取消逻辑、同时把数据库的任务删除
- 节点重启后,先通过数据库加载属于自己节点的任务到本地时间轮
注意,此处存在一些已经超时的任务,需要加载的时候顺便执行取消订单逻辑,把过期的任务从数据库删除
- 节点的时间轮恢复,后续继续通过1. 2. 步骤继续运行