分布式计算的重要原则——CPA理论
2016-12-24 15:41
127 查看
原创于: 2013-09-02 16:10:42
标签:
在分布式计算技术的设计和实现中,CAP理论是一个重要的指导原则,其基本内容如下:
1、“C”是指一致性,即当一个Process(过程)修改了某个数据后,其他Process读取这是数据是,得到的是更新后的数据,但并不是所有系统都 可以做到这一点。例如,在一些并非严格要求一致性的系统中,后来的Process得到的数据可能还是修改之前的数据,或者需要等待一定时间后才能得到修改 之后的数据,这被成为“弱一致性”,最经典的应用就是DNS系统。当用户修改了DNS配置后,往往不会马上在全网更新,必定会有一个延迟,这个延迟被称为 “不一致窗口”,它的长度取决于系统的负载、冗余的个数等因素。但对于某些系统而言,一旦写入,后面读取的一定是修改后的数据,如银行账户信息,这被称为
“强一致性”。
2、“A”是指可用性。即系统总是能够为用户提供连续的服务能力。当用户发出请求是,系统能给出响应(成功或者失败),而且是立即给出响应,而不是等待其他事情完成才响应。如果需要等待某件事情完成才响应,那么“可用性”就不存在了。
3、“P”是指容错性。任何一个分布式计算系统都是由多个节点组成的。在正常情况下,节点与节点之间的通信是正常的。但是在某些情况下,节点之间的通信会 断开,这种断开成为“Partition”。在分布式计算的实现中,Partition是很常见的,因为节点不可能永远不出故障,尤其是对于跨物理地区的 海量存储系统而言,而容错性则可以保证如果只是系统中的部分节点不可用,那么相关的操作仍旧能够正常完成。
CAP理论明确指出:在一个分布式计算系统中,“C”、“A”、“P”不能同时成立,最多只能同时成立两条,即在设计分布式计算系统时,一致性、可用性和容错性三者不可兼得。因此,分布式计算系统的设计和实现必须针对用户的实际需求,在上述3个原则之间进行权衡。
本文属原创文章,来自商网云政务平台,转载请保留出处。
标签:
在分布式计算技术的设计和实现中,CAP理论是一个重要的指导原则,其基本内容如下:
1、“C”是指一致性,即当一个Process(过程)修改了某个数据后,其他Process读取这是数据是,得到的是更新后的数据,但并不是所有系统都 可以做到这一点。例如,在一些并非严格要求一致性的系统中,后来的Process得到的数据可能还是修改之前的数据,或者需要等待一定时间后才能得到修改 之后的数据,这被成为“弱一致性”,最经典的应用就是DNS系统。当用户修改了DNS配置后,往往不会马上在全网更新,必定会有一个延迟,这个延迟被称为 “不一致窗口”,它的长度取决于系统的负载、冗余的个数等因素。但对于某些系统而言,一旦写入,后面读取的一定是修改后的数据,如银行账户信息,这被称为
“强一致性”。
2、“A”是指可用性。即系统总是能够为用户提供连续的服务能力。当用户发出请求是,系统能给出响应(成功或者失败),而且是立即给出响应,而不是等待其他事情完成才响应。如果需要等待某件事情完成才响应,那么“可用性”就不存在了。
3、“P”是指容错性。任何一个分布式计算系统都是由多个节点组成的。在正常情况下,节点与节点之间的通信是正常的。但是在某些情况下,节点之间的通信会 断开,这种断开成为“Partition”。在分布式计算的实现中,Partition是很常见的,因为节点不可能永远不出故障,尤其是对于跨物理地区的 海量存储系统而言,而容错性则可以保证如果只是系统中的部分节点不可用,那么相关的操作仍旧能够正常完成。
CAP理论明确指出:在一个分布式计算系统中,“C”、“A”、“P”不能同时成立,最多只能同时成立两条,即在设计分布式计算系统时,一致性、可用性和容错性三者不可兼得。因此,分布式计算系统的设计和实现必须针对用户的实际需求,在上述3个原则之间进行权衡。
本文属原创文章,来自商网云政务平台,转载请保留出处。
相关文章推荐
- 分布式计算的重要原则--CAP理论
- 架构 理论 设计原则 分布式 总结
- 计算理论研习资料搜集一——自动机与形式语言
- 从分布式系统看流式计算的高可用技术
- 分布式计算开源框架Hadoop介绍
- 数学之路-分布式计算-hadoop、python与R(1)
- 分布式架构学习之:020--服务接口设计原则
- 如何像 NASA 顶级程序员一样编程 —— 10 条重要原则
- 分布式系统理论基础 - 选举、多数派和租约
- 浅谈分布式计算的开发与实现(2)
- 分布式系统的CAP理论
- 从分布式一致性谈到CAP理论、BASE理论
- 中国惠普公司企业计算及专业服务集团卫东:IT治理最重要就是保证技术与业务有效结合
- Spark是一种分布式的计算方案
- 分布式系统理论进阶 - Raft、Zab
- Java对象序列化给分布式计算带来的方便 (转)
- 分布式计算开源框架Hadoop入门实践(一)
- 如何在spark中读写cassandra数据 ---- 分布式计算框架spark学习之六
- 论分布式计算与线程并行
- 一脸懵逼学习Storm---(一个开源的分布式实时计算系统)