分布式系统之CAP理论学习
2016-08-02 01:03
351 查看
1.CAP理论的内容和由来
CAP原本是一个猜想,2000年PODC大会的时候大牛Brewer提出的,他认为在设计一个大规模可扩放的网络服务时候会遇到三个特性:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance)都需要的情景,然而这是不可能都实现的。之后在2003年的时候,Mit的Gilbert和Lynch就正式的证明了这三个特征确实是不可以兼得的。从此,CAP理论正式地在学术上成为了分布式计算领域的公认定理,并深深地影响了分布式计算的发展。
CAP定律说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。
2.CAP理论拆解
(1)一致性
系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读到最新的值,这样的系统被认为是具有强一致性的。 等同于所有节点访问同一份最新的数据副本。
(2)可用性
每一个操作总是能够在一定的时间内返回结果,这里需要注意的是"一定时间内"和"返回结果"。一定时间指的是,在可以容忍的范围内返回结果,结果可以是成功或者失败。
(3)分区容错性
首先说下网络分区的概念。网络分区是指由于某种原因,网络被分成若干个孤立的区域,而区域之间互不相通。还有一些人将分区容错性理解为系统对节点动态加入和离开的能力,因为节点的加入和离开可以认为是集群内部的网络分区。
分区容错性的意思是说,在网络中断,消息丢失的情况下,分布式系统被分割成多个子系统,那就要求系统照样能够工作。网络分区发生时,为了保证分区容错性,就需要在一致性和可用性之间做取舍。比如,我们要保证一致性,那由于分区间通信时延或失败,会导致一部分请求失败。若我们保证可用性,那么我们需要在分区内完成业务逻辑,及时返回给用户可用的结果,那此时各个分区间的数据一致性就有问题了。
3.关于分区的一点补充
学习资料参考于: http://www.cnblogs.com/hxsyl/p/4381980.html http://www.infoq.com/cn/articles/cap-twelve-years-later-how-the-rules-have-changed/
CAP原本是一个猜想,2000年PODC大会的时候大牛Brewer提出的,他认为在设计一个大规模可扩放的网络服务时候会遇到三个特性:一致性(consistency)、可用性(Availability)、分区容错(partition-tolerance)都需要的情景,然而这是不可能都实现的。之后在2003年的时候,Mit的Gilbert和Lynch就正式的证明了这三个特征确实是不可以兼得的。从此,CAP理论正式地在学术上成为了分布式计算领域的公认定理,并深深地影响了分布式计算的发展。
CAP定律说的是在一个分布式计算机系统中,一致性,可用性和分区容错性这三种保证无法同时得到满足,最多满足两个。
2.CAP理论拆解
(1)一致性
系统在执行过某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功后所有的用户都应该读到最新的值,这样的系统被认为是具有强一致性的。 等同于所有节点访问同一份最新的数据副本。
(2)可用性
每一个操作总是能够在一定的时间内返回结果,这里需要注意的是"一定时间内"和"返回结果"。一定时间指的是,在可以容忍的范围内返回结果,结果可以是成功或者失败。
(3)分区容错性
首先说下网络分区的概念。网络分区是指由于某种原因,网络被分成若干个孤立的区域,而区域之间互不相通。还有一些人将分区容错性理解为系统对节点动态加入和离开的能力,因为节点的加入和离开可以认为是集群内部的网络分区。
分区容错性的意思是说,在网络中断,消息丢失的情况下,分布式系统被分割成多个子系统,那就要求系统照样能够工作。网络分区发生时,为了保证分区容错性,就需要在一致性和可用性之间做取舍。比如,我们要保证一致性,那由于分区间通信时延或失败,会导致一部分请求失败。若我们保证可用性,那么我们需要在分区内完成业务逻辑,及时返回给用户可用的结果,那此时各个分区间的数据一致性就有问题了。
3.关于分区的一点补充
学习资料参考于: http://www.cnblogs.com/hxsyl/p/4381980.html http://www.infoq.com/cn/articles/cap-twelve-years-later-how-the-rules-have-changed/
相关文章推荐
- hadoop学习笔记之二:分布式系统中的CAP理论
- 分布式学习——分布式系统的CAP理论
- 分布式系统之CAP理论
- 分布式系统理论基础 - CAP
- 【D】分布式系统的CAP理论
- 分布式系统开发的一些相关理论基础——CAP、ACID、BASE
- 分布式系统之CAP理论 - DM张朋飞
- 分布式系统之CAP理论
- 分布式系统CAP理论
- 分布式系统的思考及CAP理论
- 分布式系统理论基础 - CAP
- 分布式系统之----CAP理论
- 分布式系统的CAP理论
- 分布式系统的CAP理论
- 分布式系统之CAP理论之详解
- 分布式系统中的CAP理论
- 分布式领域CAP理论-学习整理
- 分布式系统中的CAP理论
- 分布式系统之CAP理论杂记
- 分布式系统之CAP理论杂记