分布式事务+强一致性:可行性?

Distributed transactions + Strong consistency : Feasibility?

背景:

我知道很多大型系统,特别是在电子商务领域,分布式事务与最终一致性

一起使用

问题:

是否有可能实现具有强一致性保证的分布式事务(通过两个网络资源)。 我在理论上保持 hearing/reading 关于它(使用 2 阶段提交),但从来没有机会遇到这样的系统。

或者根本不可能实现?任何 insights/relevant 文章表示赞赏。

马上我可以推荐至少两个符合您要求的现代分布式数据库:TiKV and CocroachDB. Both of them are CP systems (in terms of CAP theorem) both support ACID, both use two-phase commit algorithms for distributed transactions. It also possible to set up two-phase commits within PostgreSQL。而且我相信有更多的数据库支持分布式事务,同时保持强一致性保证。

据我所知,分布式强一致性数据库设计没有太多选择:您可以使用两阶段提交(或其变体,如三阶段提交),或分布式共识算法,如 Raft。我建议您阅读 Martin Kleppman.

的综合指南