架构师训练营 1 期第 6 周:技术选型(二) - 作业

用户头像
灵霄
关注
发布于: 1 小时前
架构师训练营 1 期第 6 周:技术选型(二) - 作业

简述CAP原理



CAP原理指的是系统的数据一致性(Consistency)、可用性(Availability)和分区耐受性(Partition tolerance),这三个特性之间的关系。



  • 一致性(Consistency):一致性是说,每次读取的数据都应该是最近写入的数据或者返回一个错误(Every read receives the most recent write or an error),而不是过期数据,也就是说,数据是一致的。



  • 可用性(Availability):可用性是说,每次请求都应该得到一个响应,而不是返回一个错误或者失去响应,不过这个响应不需要保证数据是最近写入的(Every request receives a (non-error) response, without the guarantee that it contains the most recent write),也就是说系统需要一直都是可以正常使用的,不会引起调用者的异常,但是并不保证响应的数据是最新的,即不保证数据的一致性特征。



  • 分区耐受性(Partition tolerance):分区耐受性说,即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统依然应该是可以操作的(The system continues to operate despite an arbitrary number of messages being dropped (or delayed) by the network between nodes)。在一个分布式系统中,我们不能保证分区总是可用,也就是说分区耐受性是必然出现的。



对于一个分布式系统而言,CAP理论主要说明了在必须满足P的情况下(分布式系统P即分区耐受性是必须要保证的),可用性和一致性无法得到同时保证。



发布于: 1 小时前 阅读数: 2
用户头像

灵霄

关注

还未添加个人签名 2019.02.13 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 1 期第 6 周:技术选型(二) - 作业