CAP/BASE 理论

CAP

概念
  • 一致性
    当一个系统在数据一致的状态下执行更新操作后,应该保证系统的数据仍然处于一致的状态。
  • 可用性
    每次请求都能获取到正确的响应,但是不保证获取的数据为最新数据。
  • 分区容错性(必需保证)
    分布式系统在遇到任何网络分区故障的时候,仍然需要能够保证对外提供满足一致性和可用性的服务
三选二
  • CA
    放弃P的同时也就意味着放弃了系统的扩展性,也就是分布式节点受限,没办法部署子节点,这是违背分布式系统设计的初衷的。
  • CP
    每个请求都需要在Server之间强一致,而P(分区)会导致同步时间无限延长(也就是等待数据同步完才能正常访问服务),如此CP也是可以保证的,zookeeper
  • AP
    要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联系,为了高可用,每个节点只能用本地数据提供服务,而这样会导致全局数据的不一致性。现在众多的NoSQL都属于此类,如redis,mongdb等。

BASE

  • 最终一致性
    data replications 经过一段时间达到一致性。
  • 基本可用
    在分布式系统出现故障,允许损失部分可用性(服务降级、页面降级)。
  • 软状态
    允许分布式系统出现中间状态。而且中间状态不影响系统的可用性。
    允许系统服务的副本间在数据同步时存在延时

CAP/BASE 理论
https://www.xinyublog.com/concept/cap/
作者
蚂蚁
发布于
2023年8月11日
许可协议