【问题标题】:How can I detect clock skew among nodes in Azure roles?如何检测 Azure 角色中节点之间的时钟偏差?
【发布时间】:2012-10-05 12:56:46
【问题描述】:

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

在我的例子中,我正在向 Azure Blob 写入一个压缩的日期时间戳。如果不同的节点会以不同的方式解释该日期时间戳(因为它可能发生在闰日或闰秒),那将是灾难性的


更多信息

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

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

可能的解决方案

也许我可以让每个节点定期将其当前日期写入 blob 存储(32 字节),然后定期查询。

【问题讨论】:

    标签: azure p2p azure-storage azure-web-roles azure-worker-roles


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 2013-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多