架构师训练营第 2 期 第六周课后练习
简述 CAP 原理
C:Consistency (一致性):每次读取时不会返回过期的数据。这句话是说一个请求,如果做不到返回最新数据,就该返回错误(告知服务不可用,它无法返回期望结果)。
A:Availability (可用性):每次请求应该得到响应数据,不应返回错误。即请求不可引起调用者的异常,但也不保证返回的数据是最新的。从这里看,可用性与一致性是冲突的,实际是二选一。
P:Partiton tolerance(分区耐受性): 首先理解,不同的节点靠通信同步数据的变动。节点间的通信在实际使用过程中是必然发生故障的。而分区耐受性就是指当部分节点间的通信故障时,系统依然是可以操作的。对于一个分布式系统,局部的故障不能影响整体,至少保证可以操作。换句话说,分区耐受性,不是一个选择项,而是默认需要得到保证的。
从以上简述来看,CAP原理就是说:对于分布式系统,在保障分区耐受性的前提下,一致性与可用性无法同时满足。
评论