第六周 - 命题作业

用户头像
molly
关注
发布于: 2020 年 07 月 14 日

请简述 CAP 原理。

什么是CAP原理?

是分布式数据库指导性的一个原理。

CAP原理说的是什么?

说的是:对于一个分布式数据存储系统而言它的A可用性、C数据一致性、P分区耐受性三者是不能同时满足的。

一致性Consistency

每次读取的数据都应该是最近写入的数据或者返回一个错误,而不是过期数据;即:读取数据的时候,要么不返回或返回一个错误,但是不能返回一个旧数据,要么返回的数据必须是对的、系统里面最新的数据。

可用性Availability

每次请求都应该得到一个响应(不管是读还是写),而不是返回一个错误或者失去响应,但是这个响应不保证数据是最新的。

分区耐受性Partition tolerance:

即使因为网络的原因,部分服务器节点之间消息丢失或者延迟,系统依然应该是可以操作的。



注:

可用性 - 操作一定是顺利的、一定能完成,但是不保证操作一定是对的; 一致性 - 不保证操作一定能得到响应或可用的,但是如果返回一定是正确的、最新的。

CAP原理总结

  • 当网络分区失效发生时:

  • 要么取消操作,这样数据就是一致的,但是系统却不可用;

  • 要么继续写入数据,但是数据的一致性就得不到保证。

  • 对于一个分布式系统而言,网络失效一定会发生,也就是说:

  • 分区耐受性是必须要保证的,那么在可用性和一致性上就必须二选一。

  • 当网络分区失效,也就是网络不可用时:

  • 如果选择了一致性,系统就可能返回一个错误码或者干脆超时,即系统不可用;

  • 如果选择了可用性,那么系统总是可以返回一个数据,但是并不能保证这个数据是最新的。



所以,关于CAP原理,更准确的说法是:在分布式系统必须满足分区耐受性的前提下,可用性和一致性无法同时满足。



用户头像

molly

关注

还未添加个人签名 2017.12.14 加入

还未添加个人简介

评论

发布
暂无评论
第六周 - 命题作业