背景:
我知道许多大型系统,尤其是在电子商务领域中,在这些领域中,分布式交易与最终一致性一起使用。
问题:
是否可以进行具有强一致性保证的分布式事务(通过两个网络资源)。 我一直在理论上(使用2阶段提交)听到/阅读它,但从未有机会遇到过这样的系统。
还是根本不可能实现它?任何见解/相关文章表示赞赏。
答案 0 :(得分:1)
马上我可以建议至少两个满足您要求的现代分布式数据库:TiKV和CocroachDB。它们都是CP系统(用CAP theorem表示)都支持ACID,都使用两阶段提交算法进行分布式事务。也可以在PostgreSQL内设置两阶段提交。而且我相信还有更多的数据库可以支持分布式事务,同时又能保持强大的一致性保证。
据我所知,分布式强一致性数据库设计没有太多选择:您可以使用两阶段提交(或其变体,例如三相提交),也可以使用分布式共识算法(例如Raft)。我建议您阅读Martin Kleppman的综合指南。