介绍
在分布式系统中,时间是一个巨大的问题,因为在不同的电脑上会有他们自己的物理时间,如何做到状态事务的一致性往往比较难。缺少一个全局的物理时间使得很难去发现一段分布式程序的执行的状态是如何。
时钟,事件,进程状态和时间同步算法
小标题中提到的3个 名次在分布式的时间中出现最多频率的词。如何同步不同机器上的物理时间呢,下面简单的列举几个算法
1、一个叫Cristian方法同步物理时间的办法,这个方法会用到一个额外的时间服务器,但是这里会有个问题,如果这个服务挂了,岂不是同步失效了,不过你可以构建一个时间服务器集群服务。
2、第二个方法叫做Berkeley算法。
3、第三个方法通过Network Time Protocol (NTP)协议,该协议定义了一个时间服务和分布式的时间协议构建于网络之上。
逻辑时间和时钟
有的时候计算机上的物理时间往往不同,但是可以自己定义一套逻辑时间的规范,来记录消息事件的有序性。典型的方法就是向量