📜  分布式系统中的同步

📅  最后修改于: 2022-05-13 01:56:11.793000             🧑  作者: Mango

分布式系统中的同步

分布式系统是通过高速通信网络连接的计算机的集合。在分布式系统中,硬件和软件组件通过消息传递进行通信和协调它们的动作。分布式系统中的每个节点都可以与其他节点共享资源。因此,需要适当分配资源以保持资源状态并帮助多个进程之间的协调。为了解决此类冲突,使用同步。分布式系统中的同步是通过时钟实现的。

物理时钟用于调整节点的时间。系统中的每个节点可以与系统中的其他节点共享其本地时间。时间是根据 UTC(通用时间协调)设置的。 UTC 用作系统中节点的参考时钟。

时钟同步可以通过两种方式实现:外部时钟同步和内部时钟同步。

  1. 外部时钟同步是存在外部参考时钟的同步。它用作参考,系统中的节点可以相应地设置和调整它们的时间。
  2. 内部时钟同步是每个节点与其他节点共享时间,所有节点相应地设置和调整它们的时间。

时钟同步算法有两种类型:集中式和分布式。

  1. 集中式是将时间服务器用作参考的一种。单个时间服务器将其时间传播到节点,所有节点相应地调整时间。它依赖于单个时间服务器,因此如果该节点出现故障,整个系统将失去同步。集中式的例子有——伯克利算法、被动时间服务器、主动时间服务器等。
  2. 分布式是不存在集中时间服务器的一种。相反,节点通过使用它们的本地时间来调整它们的时间,然后取与其他节点的时间差的平均值。分布式算法克服了集中式算法的可扩展性和单点故障等问题。分布式算法的例子有 – 全局平均算法、局部平均算法、NTP(网络时间协议)等。