分布式理论 | 青训营课程笔记

64 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天

理论基础

CAP理论

  • CAP的定义,分别代表一致性、可用性、分区容错性。三者无法同时达到

image.png

  • 举例说明两个分布式进程之间同步数据,当出现故障的时候,如何选择不同的CAP系统,以及带来的影响
    • CP系统:故障发生时,为了避免读到不一致的数据,可能拒绝访问
    • AP系统:故障发生时,为了保证可用性,允许不同进程读到不同的数据
  • 针对故障场景,可以通过故障转移的方式,做一个相对较优的解决方式:
    • 允许一个进程作为Master,其他进程作为Backup,所有请求都由master节点进行处理,backup节点只是作为备用。当master故障时将请求转移给Backup进行处理,这样就保证了可用性

image.png

ACID理论

image.png

BASE理论

BASE理论是针对AP系统而言的,其来源于对大型互联网分布式实践的总结,是基于cap定理演化的

  • Basically Available(基本可用):假设系统,出现了不可预知的故障,但还是能用,相比较正常的系统而言:响应时间上的损失,或功能上的损失
  • Soft state(软状态):允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时(某些时间,多个数据副本可能不一致)
  • Eventually consistent(最终一致性):系统能够保证在没有其他新的更新操作的情况下,数据最终一定能够达到一致的状态,因此所有客户端对系统的数据访问最终都能够获取到最新的值。