欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

数据一致性问题

程序员文章站 2022-04-01 15:57:43
...
在一段代码中,同时对mysql,redis,mongodb进行了操作,怎么能保证这几个数据库之间数据的一致性呢?
比如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何能确保ABC同时成功或者失败

回复内容:

在一段代码中,同时对mysql,redis,mongodb进行了操作,怎么能保证这几个数据库之间数据的一致性呢?
比如msyql保存字段A,redis保存字段B,mongodb保存字段C,如何能确保ABC同时成功或者失败

虽然操作是同时的,但是每个数据库在处理时不一样,并不能保证他们都成功。
可以当三个处理都成功时,才算最终的成功,有一个失败,就当成失败。

这个设定是这样没错?

我想redis跟mysql的事务比较好操作,插入前开启事务mongodb操作成功在一起commit吧,rollback一起rollback

因为涉及到三个类型的数据库,所以应该是没有现成的XA协议,来保证各个数据库的强一致性。所以可以退而求其次,保证最终一致性.
分布式事务1
分布式事务2