Skip to content

Commit 1399216

Browse files
authored
Update 分布式-CAP理论.md
1 parent 429495b commit 1399216

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

MD/分布式-CAP理论.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
## 理论
22
CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
33

4-
分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:
4+
* 一致性(C):对某个指定的客户端来说,读操作能返回最新的写操作结果
5+
* 可用性(A):非故障节点在合理的时间返回合理的响应
6+
* 分区容错性(P):分区容错性是指当网络出现分区(两个节点之间无法连通)之后,系统能否继续履行职责
57

6-
* 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)
7-
* 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性)
8-
* 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择。
9-
10-
CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。
8+
CAP理论就是说在分布式系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以考虑最差情况,分区容忍性是一般是需要实现的
119

1210
## 个人理解
13-
分区容错性是指能否对分布式系统中对数据不一致的容忍,那么在当前硬件条件下是肯定会出现不一致的情况,所以需要在一致性和可用性中进行选择。
14-
11+
满足分区容忍性之后:
1512
如果选择一致性,则需要将数据同步更新到所有节点上,每次写操作就都要等待全部节点写成功,会导致可用性的降低。
1613
如果选择可用性,就需要将数据复制到很多个节点,需要复制的数据很多,复制的过程缓慢,会导致一致性的降低
1714

15+
但如果网络不出现分区(节点之间的网络连接一切正常),就可以同时满足C和A,但这样做的风险是,一旦网络出现问题导致分区,系统将不可用,在某些要求一致性和可用性(金钱方面)的业务上就需要这样做
16+
17+
比如电商网站为例,会员登录、个人设置、个人订单、购物车、搜索用AP,因为这些数据短时间内不一致不影响使用;后台的商品管理就需要CP,避免商品数量的不一致;支付功能需要CA,保证支付功能的安全稳定
18+
1819
BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
1920

2021
欢迎光临[我的博客](http://www.wangtianyi.top/?utm_source=github&utm_medium=github),发现更多技术资源~

0 commit comments

Comments
 (0)