Skip to content

Commit 34e00f4

Browse files
authored
Update 分布式-CAP理论.md
1 parent 33a57e9 commit 34e00f4

File tree

1 file changed

+1
-8
lines changed

1 file changed

+1
-8
lines changed

MD/分布式-CAP理论.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,7 @@ CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(
77

88
CAP理论就是说在分布式系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以考虑最差情况,分区容忍性是一般是需要实现的
99

10-
## 个人理解
11-
满足之后:
12-
如果选择C,则需要将数据同步更新到所有节点上,每次写操作就都要等待全部节点写成功,会导致A的降低。
13-
如果选择A,就需要将数据复制到很多个节点,需要复制的数据很多,复制的过程缓慢,会导致C的降低
14-
15-
正常情况下,不存在CP还是AP的选择,可以做到CA,但如果网络出现分区(节点之间的网络连接不正常),就必须要为了满足P,而放弃C或A,放弃哪个?一般我们要保证的是系统不能挂掉(AP),然后通过同步数据的方式还原C,还可能让我们的系统挂一部分(CP),然后通过重启节点的方式还原A
16-
17-
对于不同业务也会需要考虑到不同的CAP选择,以电商网站为例,会员登录、个人设置、个人订单、购物车、搜索用AP,因为这些数据短时间内不一致不影响使用;后台的商品管理就需要CP,避免商品数量的不一致;支付功能需要CA,保证支付功能的安全稳定
10+
虽然 CAP 理论定义是三个要素中只能取两个,但放到分布式环境下来思考,我们会发现必须选择 P(分区容忍)要素,因为网络本身无法做到 100% 可靠,有可能出故障,所以分区是一个必然的现象。如果我们选择了 CA 而放弃了 P,那么当发生分区现象时,为了保证 C,系统需要禁止写入,当有写入请求时,系统返回 error(例如,当前系统不允许写入),这又和 A 冲突了,因为 A 要求返回 no error 和 no timeout。因此,分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。
1811

1912
BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
2013

0 commit comments

Comments
 (0)