防止数据丢失的解决方法

自从使用mq代替db以后,还是遇到了不少麻烦,最近碰到了丢数据的问题,这对于客户来说很严重,不能接受。对于我们也觉得很奇怪,使用message queue不就是为了更好的控制数据吗!

调查过程中发现,把数据从mq里拿出来以后,就通知mq把数据删了,然后去处理数据了,如果处理数据失败,因为没有retry机制,数据就丢了。

再翻看引入mq以前的代码,发现以前是处理完数据以后才让db去删除的,虽然如果处理失败,也还是会删除数据,但是至少抛出异常的时候数据没丢。

现在把代码改成只有处理成功才从mq里把数据去除,希望能解决这个问题。

猜你喜欢

转载自www.cnblogs.com/mryux/p/12074934.html
今日推荐