分布式交易+高度一致性:可行性?

时间:2019-03-29 20:54:39

标签: database networking distributed-computing eventual-consistency 2phase-commit

背景

我知道许多大型系统,尤其是在电子商务领域中,在这些领域中,分布式交易与最终一致性一起使用。

问题:

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

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

1 个答案:

答案 0 :(得分:1)

马上我可以建议至少两个满足您要求的现代分布式数据库:TiKVCocroachDB。它们都是CP系统(用CAP theorem表示)都支持ACID,都使用两阶段提交算法进行分布式事务。也可以在PostgreSQL内设置两阶段提交。而且我相信还有更多的数据库可以支持分布式事务,同时又能保持强大的一致性保证。

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