有没有啥办法能保证后端服务异步执行的数据在服务重启的时候不丢失

查看 47|回复 1
作者:NoKey   
今天在写异步服务,基于 springboot 框架的
写着的时候,想起来一个事情
比如有个处理数据的异步逻辑,产生了一定量的异步任务
然后,这个时候服务重启了
异步执行里面的数据肯定就丢了
有啥办法能保证服务重启的时候,数据不丢呢?
如果线程池有队列,那么队列里面的也会全丢失
处理前先把未处理的数据存储了,然后处理后移除?
有没有比较好的策略呢?
谢谢。

异步, 队列, 重启, 数据

opengps   
参考分布式锁的超时设计:
额外用一个消息队列或者第三方公共缓存服务,标记下某个任务进入正在处理状态,设定上一个安全合理的正常处理超时,真超时可能是丢失了,重新处理一遍就行
您需要登录后才可以回帖 登录 | 立即注册

返回顶部