Timer数据如何防丢失
来源:1-9 神奇的内置数据结构
Jceee2号机
2021-05-30 15:05:57
Timer heap和GMP中的P绑定
那程序重启或异常中断时,是否会丢失四叉堆上的数据
业界热更新有什么方案解决这个
1回答
Xargin
2021-05-30
既然会丢,说明就不适合只放内存里。
给你举个实际的业务场景例子,有些搞外卖、打车业务的公司有一种叫“慢必赔”的业务,比如打车,如果司机 10 分钟内没接到你,那就需要给你发个优惠券,这种就是需要通过 10min 的定时任务来做的。
但是因为每个用户的定时开始都不一样,相当于就是一大堆 timer,且不能丢。
所以他们会在订单开始的时候,往数据库里插一条数据,记录什么时间点需要发券,然后再通过简单的定时扫描逻辑,来处理这些过期的定时器。
相似问题