分布式系统的局限性
分布式系统是一组自治的计算机系统,通过其硬件和软件之间的互连,相互之间进行高效的传输和协作。它是一组松散耦合的处理器,在用户看来是一个单一的系统系统。分布式系统有各种限制,例如在分布式系统中不存在任何全局状态。这将分布式系统计算与维护稳定全局状态的数据库区分开来。
分布式系统的限制对分布式系统的设计和实现都有影响。分布式系统主要有以下两个限制:
1. Absence of a Global Clock
2. Absence of Shared Memory
分布式系统的上述两个限制解释如下:
1. 没有全局时钟:
在分布式系统中有很多系统,每个系统都有自己的时钟。每个系统上的每个时钟都以不同的速率或粒度运行,导致它们异步。在开始时,时钟被调节以保持它们一致,但只有在一个本地时钟周期之后,它们才会不同步,并且没有时钟具有准确的时间。
时间以一定的精度而闻名,因为它在分布式系统中用于以下方面:
- 事件的时间顺序
- 收集有关集成系统状态的最新信息
- 流程调度
由于异步消息传递,分布式系统中的进程可以同步其时钟的时间精度受到限制。分布式系统中的每个时钟都与更可靠的时钟同步,但是由于传输和执行时间的流逝,时钟变得不同。全局时钟的缺失使得分布式系统的算法设计和调试更加困难。
2. 缺少共享内存:
分布式系统没有任何物理共享内存,分布式系统中的所有计算机都有自己特定的物理内存。由于分布式系统中的计算机不共享公共内存,任何一个系统都不可能知道整个分布式系统的全局状态。分布式系统中的进程获得系统的连贯视图,但实际上该视图是系统的局部视图。
由于在分布式系统中没有全局状态,因此识别系统的任何全局属性都具有挑战性。分布式系统中的全局状态被许多计算机划分为更小的实体。