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