分布式事物解决方案

来源:互联网 发布:js设置时间戳 编辑:程序博客网 时间:2024/06/06 09:56

分布式事物目前自己总结有两种方案

1.二段提交或者三段提交

二段提交:协调者协调参与者的事物提交。



三段提交,在二段提交的基础上增加了预提交阶段。


总结:为什么会有预提交,因为协调者或网络问题,导致参与者迟迟不能收到来自协调者的commit或rollback请求,那么参与者将不会如两阶段提交中那样

陷入阻塞,而是等待超时后继续commit。相对于两阶段提交虽然降低了同步阻塞,但仍然无法避免数据的不一致性。


2.使用消息机制

举一个电商的案例,用户注册的给用户发一张优惠券。在大型的网站中,用户表和优惠券表是分布在两个完全独立的数据库中,所以不能像本地事物那样,让插入用户和插入优惠券在同一个事物中。

我们现在采用消息中间件解决分布式事物的最终一致性的问题。


PS:博主能力有限,如有不对,还请原谅指正,谢谢。



0 0