week6 作业 1

发布于: 21 小时前

  • 请简述 CAP 原理(以下内容来源于网络)。

说到CAP原理,就不得不提分布式系统,CAP原理也称CAP原则,是分布式系统的三个指标,指在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP原则值得是这三个要素最多只能同时实现两点,不能做到三者兼顾.

一致性:在分布式系统中,所有节点在同一时刻的数据完全一致,可以理解为在某条记录发生更新后,再去读这条记录时,必须返回修改后的记录;

可用性:在整个系统中一部分节点发生故障后,系统整体还能响应客户端的读写请求,即系统只要收到用户的请求,服务器就必须给出响应。

分区容错性:大多数的分布式系统都分布在多个子网络,每个子网络就叫做一个区。分区容错的意思是,以实际效果而言,区间通信可能失败,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区,必须就当前操作在C和A之间做出选择。

CAP理论得精髓就是说在分布式存储系统中,最多只能实现上面的两点。而由于网络硬件肯定会出现延迟丢包等问题,所以分区容错性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡。

为什么一致性和可用性不能同时成立?

假设某个系统中有两个节点V1和V2,如果要保证V1的一致性,那么V2必须在写操作时,锁定V1的读操作和写操作,只有在数据同步后,才能重新开放读写,锁定期间,V1不能读写,不满足可用性;

如果要保证V1的可用性,那就不能锁定V1,所以一致性也不成立。

综上所述,V1无法同时做到一致性和可用性。系统设计时只能选择一个目标。如果追求一致性,那么无法保证所有节点的可用性;如果追求所有节点的可用性,那就没法做到一致性。

发布于: 21 小时前 阅读数: 5
用户头像

关注

还未添加个人签名 2019.04.12 加入

还未添加个人简介

评论

发布
暂无评论
week6作业1