CAP理论-面试题

CAP理论: https://zhuanlan.zhihu.com/p/50990721
Consistency(一致性)
Availability(可用性)
Partition tolerance(分区容忍性)
一致性: 客户端访问分布式系统时,每次访问到的结果都是一样的这个叫一致性
可用性: 保证访问不会出错,但不保证数据最新
分区容忍性: 分区(网络分区),网络是不稳定的,节点之间可能出现无法通讯的情况,在节点间不能通讯的时候,可以保证系统继续正常服务

CAP理论:
CAP理论其实实对分布式数据存储系统的一个定论,一个分布式系统没办法同时满足一致性©,可用性(A),分区容忍性§,由于网络不可靠,大多数分布式系统都会实现分区容忍性,之后再一致性©和可用性(A)之间选择

CAP不能全部满足的证明:
最简单的理解: 一个分布式系统有两个节点, 如果网络是不可靠的,就要允许系统有分区容错性§,
如果允许分区容错性§, 同时又保证俩节点都能用(可用性A),就没法保证一致性(A),如果要一致性©,就将一侧的节点设置为不可用,就无法保证可用性(A), 这三者就是一个不可能三角

CAP的选择: 分区容错性§必须有,因为网络是不可信的,如果没有P一旦有一个节点出问题,整个系统都将挂掉,
CP系统, 发生分区故障时系统卡死或者超时,但返回数据是一致性的(zookeeper)(数据必须对,银行)
AP系统: 分区故障后,系统仍可以访问,但有些是新数据,有些是旧数据(Eureka)(系统必须可用,数据错了没问题)

你可能感兴趣的:(面试刷题,java)