如何检测Azure角色中节点之间的时钟偏差?

goo*_*ate 5 p2p azure azure-storage azure-worker-roles azure-web-roles

我有一个时间敏感的操作,需要知道其他计算机之间的时钟偏差,和/或防止这样的事情.如何检测或防止时钟偏差?

在我的情况下,我正在为Azure Blob写一个压缩的日期时间戳.如果不同的节点会以不同的方式对该日期时间戳进行解释(因为它可能发生在闰日或闰秒期间),那将是一场灾难.


更多信息

我正在尝试检测本地节点当前时间的时钟偏差.

每个节点都将时间敏感信息写入Blob/Table.如果时间戳早于X,则会发生某些操作.如果时间不同步,数据可能会丢失或损坏.

可能解决方案

也许我可以让每个节点定期将其当前日期写入blob存储(32字节),然后在例行的基础上查询.

小智 2

有一些 .NET NTP 客户端 API 可以告诉您本地节点时间与 NTP 时间服务器上的时间之间的偏差。例如:

您可以使用 NTP 客户端将本地时间和偏差存储在 blob 中。当您读取不同节点上的 blob 时,可以计算该节点的本地时间和偏差,并将其与 blob 的存储时间和偏差进行比较。