1

背景

我知道相当多的大型系统,尤其是在使用分布式事务以及最终一致性的电子商务领域。

问题:

是否有可能拥有具有强一致性保证的分布式事务(通过两个网络资源)。我一直在理论上听到/阅读它(使用 2 阶段提交),但从未有机会遇到这样的系统。

或者根本不可能实现它?任何见解/相关文章表示赞赏。

4

1 回答 1

1

我可以立即推荐至少两个符合您要求的现代分布式数据库:TiKVCocroachDB。它们都是 CP 系统(根据CAP 定理),都支持 ACID,都使用两阶段提交算法进行分布式事务。也可以在PostgreSQL中设置两阶段提交。而且我相信有更多的数据库支持分布式事务,同时保持强大的一致性保证。

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

于 2019-03-30T18:30:57.610 回答