CAP定理 (分布式系统的三个指标)
2023-01-28 11:00:09 1 举报
分布式框架设计、分布式原则、框架设计、CAP定理、cap
作者其他创作
大纲/内容
Availability(可用性)
为了让 G2 也能变为 v1,就要在 G1 写操作的时候,让 G1 向 G2 发送一条消息,要求 G2 也改成 v1。
AP系统 高可用系统(N个9)
CA系统可用性和一致性
Partition tolerance(分区容错)
定义
一致性和可用性,为什么不可能同时成立?答案很简单,因为可能通信失败(即出现分区容错)。如果保证 G2 的一致性,那么 G1 必须在写操作时,锁定 G2 的读操作和写操作。只有数据同步后,才能重新开放读写。锁定期间,G2 不能读写,没有可用性不。如果保证 G2 的可用性,那么势必不能锁定 G2,所以一致性不成立。综上所述,G2 无法同时做到一致性和可用性。系统设计时只能选择一个目标。如果追求一致性,那么无法保证所有节点的可用性;如果追求所有节点的可用性,那就没法做到一致性。[更新 2018.7.17]读者问,在什么场合,可用性高于一致性?举例来说,发布一张网页到 CDN,多个服务器有这张网页的副本。后来发现一个错误,需要更新网页,这时只能每个服务器都更新一遍。一般来说,网页的更新不是特别强调一致性。短时期内,一些用户拿到老版本,另一些用户拿到新版本,问题不会特别大。当然,所有人最终都会看到新版本。所以,这个场合就是可用性高于一致性。
G1 和 G2 是两台跨区的服务器。G1 向 G2 发送一条消息,G2 可能无法收到。系统设计的时候,必须考虑到这种情况。一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们,剩下的 C 和 A 无法同时做到
CP系统 金融级别系统
C、A、P这三个指标不可能同时做到。这个结论就叫做 CAP 定理。
CAP
WHY ?
CAP原理
Availability 中文叫做\"可用性\",意思是只要收到用户的请求,服务器就必须给出回应。用户可以选择向 G1 或 G2 发起读操作。不管是哪台服务器,只要收到请求,就必须告诉用户,到底是 v0 还是 v1,否则就不满足可用性。
Consistency \"数据一致性\"
0 条评论
下一页