第六周作业 1

用户头像
Yangjing
关注
发布于: 1 小时前
第六周作业1

请简述 CAP 原理

CAP 原理是指在一个分布式系统中,CAP 三个特性不可能同时达到,在分布式系统必须要满足分区耐受性的前提下,要么接受数据不一致,要么接受数据不可用。



C 代表 Consistency (一致性)。每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期的数据。也就是说数据是一致的。

A 代表 Availability(可用性)。每次请求都应该得到一个响应,而不是返回一个错误或失去响应。不过这个响应不需要保证数据是最近写入的,也就是说系统需要一直都能正常使用,不会引起调用者异常,但不保证响应的数据是最新的。

P 代表 Partition tolerance(分区耐受性)。即使因为网络原因,部分服务器节点之间消息丢失或者延迟了,系统仍然需要是可以操作的。



对于一个分布式系统,网络失效一定会发生,也就是说分区耐受性是必须要保证的,那么在可用性和一致性上就只能二选一了。

如下图,数据存储的分布式系统,节点 A 和 节点 B 之间,网络通信失败了。



在保障 P(分区耐受性) 的前提下:

  • 如果要保障 A(可用性),那么客户端1更新成功后,节点 A 的数据是99,客户端3更新成功后,节点 B 的数据是 75,那么这时客户端4和客户端2查询的数据却不一样了,没有满足数据的C(一致性)

  • 如果要保障 C(一致性),当客户端1更新成功后,客户端3和客户端4的查询和更新都应该返回失败,没有满足数据的A(可用性)。



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

Yangjing

关注

还未添加个人签名 2017.11.09 加入

还未添加个人简介

评论

发布
暂无评论
第六周作业1