分布式理论之BASE

BASE理论

Introduction

​ BASE是Basically Available、Soft state、Eventually consistent三个概念的缩写,由eBay的架构实Dan Pritchett提出,是对CAP的权衡结果,核心的思想就是:即使做不到强一致性,但是每个应用都可以根据自身的业务特点,采用适当的方式,保证系统达到最终一致性.

Basically Available

​ 基本可用状态的意思就是说,分布式系统出现不可预知的故障的时候,允许损失部分可用性,但是系统还是可用,如下:

  • 时延变长:例如发生部分故障,请求这部分故障节点之后重新请求其它节点,导致时延变高。
  • 服务降级:典型的就是fallback策略

Soft state

​ 之所以称为"Soft state",就是与硬状态相对比,软状态的意思是指允许分布式系统的数据存在中间状态,并且认为该状态的存在不会影响系统的整体可用性,允许数据同步有一定的延时.

Eventually consistent

​ 最终一致性就是数据经过一定时间的同步,在整个分布式系统上数据是一致的,也就是说,经过一定时间,必须能够保证时间的同步.在我看来,这就是对CAP的最终权衡结果,就是弱C,弱一致性.

Extension

​ 以下是最终一致性的拓展.

Causal consistency

​ 因果一致性,即假设A更新数据并通知了B,那么B对数据的访问必须能够查看到最新的数据的值.而对于其它的进程,则没有这个限制.

Read your writes

​ 读自己所写,即A更新数据之后,总是能够访问到更新过的最新值.

Session consistency

​ 会话一致性,即首先限定X对系统的数据访问在一个会话当中, 除了"读己所写",还要保证这个写之后的读在同一个session中,而不是两个session.

Monotonic read consistency

​ 单调读一致性,如果A从分布式系统中读到a1,那么之后的任何访问,都不应该返回比这个数据更老的数据.

Monotonic write consistency

​ 单调写一致性,则同一个进程对分布式数据的写入的操作是顺序进行的.

发布了57 篇原创文章 · 获赞 32 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/rekingman/article/details/99544672