File tree Expand file tree Collapse file tree 1 file changed +9
-8
lines changed Expand file tree Collapse file tree 1 file changed +9
-8
lines changed Original file line number Diff line number Diff line change 11## 理论
22CAP原则又称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+
1819BASE理论的核心思想是:即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。
1920
2021欢迎光临[ 我的博客] ( http://www.wangtianyi.top/?utm_source=github&utm_medium=github ) ,发现更多技术资源~
You can’t perform that action at this time.
0 commit comments