CAP定理

2021-04-10  本文已影响0人  小码A梦

cap定理指的是,在一个分布式系统中,只能满足cap中的两项。


cap定理

C consistency 一致性
A availability 可用性
P partition tolerance 分区可容错性 --在任意分区网络故障的情况下系统仍能继续运行

网络并不可靠,所以你应要支持分区容错性,并需要在软件可用性和一致性间做出取舍。

为何不能同时满足C和A

  1. 一般分布式系统中首先都要保证P(分区可容错性)
  2. 一致性指的是所有的节点返回的数据都是一致的
  3. 可用性指的是服务器在正常响应时间内可用
  4. 假设分布式系统有两个服务A和B,在A服务修改用户名admin,改成user
  5. 如果要满足一致性,即所有节点返回数据都是一致,访问B服务时,在A服务修改数据期间,需要锁定B服务读和写操作,修改完成后A和B服务返回都是更新后的数据,这样就不能保证可用性(因为有锁定时间)。
  6. 如果要保证可以性,在修改数据期间就不能锁定B服务的读和写操作,这样修改后,A返回更新后的数据,B返回旧数据,不满足一致性。

应用

  1. 一致性
    • 在系统中对数据比较敏感的数据,比如商品的价格,库存,需要保证一致性,放弃可用性。
  2. 可用性
    • 对于对数据不太敏感的数据,比如商品的名称,用户头像,昵称不敏感的数据,需要保证可用性,放弃一致性。
    • 网页的更新

参考

上一篇 下一篇

猜你喜欢

热点阅读