BASE理论

BASE是Basically Available(基本可用)、Soft State(软状态)和Eventually Consistent(最终一致性)的缩写。

BASE理论是分布式系统设计的一种指导思想。BASE是Basically Available(基本可用)、Soft State(软状态)和Eventually Consistent(最终一致性)的缩写。

虽然无法做到强一致性(Strong consistency),但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性(Eventual consistency)。

Basically Available

出现故障,系统虽然能够使用,但是打了折扣,比如响应时间变长、部分功能不可用。 Basically Available对系统设计的指导意义是:

  • 识别系统的关键功能。比如账号系统,有注册、登录、登录态校验、修改用户信息等功能。最关键的功能,应该是日常流量最大的登录、登录态校验。识别系统的关键功能,投入更多资源做系统优化,保证关键功能模块可用性。
  • 服务降级形式和影响。发生故障的时候,这个服务是允许响应变长、还是返回拒绝服务?一旦服务降级,会发生怎样的级联影响?

Soft State

软状态指的是:允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时。 相对于原子性而言,要求多个节点的数据副本都是一致的,这是一种“硬状态”。

业务能够接受Soft State状态为多长时间,这将直接影响设计方案的复杂度。

Eventually Consistent

软状态,必须有个时间期限。在期限过后,应当保证所有副本保持数据一致性,从而达到数据的最终一致性。这个时间期限取决于网络延时、系统负载、数据复制方案设计等等因素。 Eventually Consistent是一致性模型的一种。 CAP理论表明网络分区无法表明,系统只能在一致性(C)和可用性(A)之间做出取舍。但这是忽略了时间维度。一旦分区恢复,数据必须回归一致性状态。数据追尾、业务优先原则覆盖都是常见的修复非一致性数据的方式。

Built with Hugo
Theme Stack designed by Jimmy