写点什么

架构师训练营 W6 作业

用户头像
Kun
关注
发布于: 2020 年 07 月 15 日
架构师训练营 W6 作业

CAP 原理

分布式系统有 3 个指标,Consistency, Availability and Partition Tolerance. 三者只能同时满足 2 个。



  • Consistency

每次读取都应该是最近一次写入的数据或者返回错误,而不是过期数据。



  • Availability

每次请求在合理的时间内都应该可以得到一个响应,而不是得到一个错误或者没有响应。这个响应不需要保证是最近写入的。也就是说系统应该是一直可用的,不会引起调用者的使用异常,但是数据并不一定是最新的。



  • Partition Tolerance

由于网络等原因,部分节点信息丢失或者延迟了,系统依然是可以工作的。



C - P: 因为某些原因,某些节点暂时不可用,这是如果有数据写入。为了保证数据的一致性,就要等待不可用的节点重新恢复,才能写入。再此期间,系统是不可用的。



A - P: 如果在某些节点不可用时,为了保证系统一直是可用的,数据访问和写入都发生在正常的节点上。当不可用节点恢复时,不同节点的数据是不一致的。当然,我们可以通过一定的手段达到最终一致性。



C - A:没有分区容错性,就是一个单机系统,一致性和可用性同时满足。但是这就失去了分布式系统的意义了



发布于: 2020 年 07 月 15 日阅读数: 41
用户头像

Kun

关注

Life is short. 2018.01.13 加入

Software Developer

评论

发布
暂无评论
架构师训练营 W6 作业