四方农业网

Java后端精选技术:学习分布式不得不会的BASE理论

eBay的架构师Dan Pritchett基于对大规模分布式系统实践的总结。他发表了一篇关于ACM的文章,提出了BASE理论。 BASE理论是CAP理论的延伸。核心思想是,即使没有实现强一致性(强一致性,CAP的一致性是强一致性),但应用程序可以以适当的方式实现最终的一致性。

BASE指的是基本可用,软状态和最终一致性。

基本可用性意味着允许分布式系统在发生故障时失去一些可用性,即确保核心可用。

在电子商务的情况下,为了应对流量激增,一些用户可能被引导到降级页面,并且服务层可能仅提供降级服务。这是部分可用性丧失的体现。

软状态意味着允许系统具有不影响系统整体可用性的中间状态。通常,分布式存储中存在至少三个数据副本,并且允许不同节点之间的副本同步的延迟是软状态的表现。 mysql复制的异步复制也是一个实施例。

最终的一致性意味着系统中的所有数据副本最终将在一段时间后达到一致状态。与强一致性和强一致性相反,最终一致性是弱一致性的特殊情况。

ACID是传统数据库的通用设计概念,追求强大的一致性模型。 BASE支持大型分布式系统,并通过牺牲强大的一致性来提供高可用性。

ACID和BASE代表两种相反的设计理念。

在分布式系统设计的上下文中,系统组件对一致性有不同的要求,因此将结合使用ACID和BASE。

原文地址:

作者:Hollis

——