CAP理论的一些碎碎念

CAP理论

在分布式领域中存在的一个基础理论-CAP,指出了在分布式系统中不可能同时满足3个条件,即,

  • Consistency - 一致性
  • Availability - 可用性
  • Partition tolerance - 分区容忍性

一致性的等级

有弱到强的一致性实现分别有,

  • 最终一致性(大部分的web应用都实现了最终一致性)
  • 单调一致性
  • 因果一致性
  • 顺序一致性
  • 线性一致性
  • 严格一致性

其中严格一致性是理想情况,是不可能实现的。能够实现的最高一致性就是线性一致性,通常单节点的系统即可实现。

可用性的时长

一致性会影响可用性,强一致性带来的就是可用性时长的增加。这个很好理解,要保证数据保持一致,就需要额外做很多检查。

CP与AP的抉择

任何一个分布式系统都要在其中做出取舍,由于现实中存储之间的网络,或是其他物理条件,总是会存在分区的情况,因此CAP的取舍也退化称为CA的取舍。

但CP和AP的选择不是一个绝对的选择题,而是一种折衷,一种偏好。
这就像一个区间的两端,你选择离一致性近一些,那么就会离可用性远一些。

Author

wall-E

Posted on

2022-06-12

Updated on

2022-06-12

Licensed under

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.