下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

软件设计:分布式系统的CAP定理

作者:chenhongyong     来源: https://www.cnblogs.com/chy18883701161/p/12303941.html点击数:815发布时间: 2020-04-11 21:30:46

标签: 服务器计算机网络分布式系统

  分布式系统(distributedsystem)是建立在网络之上的软件系统。处理各项协助的任务,然后整合出结果。

  在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。

  CAP定理:

  在一个分布式系统中,Consistency(数据一致性)、Availability(服务可用性)、Partitiontolerance(分区容错性),三者不可兼得。

  一致性(Consistency)

  在分布式系统中的所有数据备份(副本),在同一时刻数据的值是否一致。(等同于所有节点访问同一份最新的数据副本)

  在分布式系统中,更新操作执行成功后所有的用户都应该读到最新的值,等同于所有节点访问同一份最新的数据副本,这样的系统被认为具有强一致性。优点:数据一致,数据不会出错;缺点:效率低。

  不满足一致性指的是不满足强一致性,但一般都要使用一些方式(加锁),使数据具有最终一致性。

  可用性(Availablity)

  在集群中一部分节点故障后,集群整体是否还能响应客户端的请求(是否还可用)。

  每一个操作总能在一定的时间内完成,一定时间是指完成时间可以容忍、接受,完成是指结束(不管成功、失败)。

  分区容错性(Partition-torlerance)

  在网络分区中,每个时刻,每个集群都要有节点能正常对外提供服务,总要有一条完整的(网络)通路。无论什么情况,服务器都要能正常被访问。

  系统如果不能在时限内达成数据一致性,默认系统无故障,网络分区发生了情况,必须就当前操作在C和A之间做出选择。

  定律:任何分布式系统只能同时满足二点,没法三者兼顾

  分布式系统和计算机网络系统的共同点是:多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。

  他们的区别在于:分布式操作系统的设计思想和网络操作系统是不同的,这决定了他们在结构、工作方式和功能上也不同。

赞(11)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程