架构师训练营 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即分区耐受性是必须要保证的),可用性和一致性无法得到同时保证。
版权声明: 本文为 InfoQ 作者【灵霄】的原创文章。
原文链接:【http://xie.infoq.cn/article/fa77c130d8690ffdc766f0c3c】。未经作者许可,禁止转载。
评论