Google AppEngine服务器实例时钟同步

时间:2013-08-16 01:16:50

标签: google-app-engine synchronization instance system-clock

我刚刚在AppEngine documentation for Query Cursors中看到了以下段落:

  

游标的一个有趣应用是监视实体   看不见的变化。如果应用程序使用当前设置时间戳属性   每当实体更改时,日期和时间,应用程序都可以使用查询   使用数据存储区光标按时间戳属性(升序)排序   检查实体何时移动到结果列表的末尾。如果   更新实体的时间戳,用光标查询返回   更新的实体。如果自上次以来没有实体更新过   执行了查询,没有返回结果,光标也没有   移动。

为了使其可靠地工作,必须对不同服务器实例之间的时钟同步提供某种保证。否则,您可能会遇到以下情况:

  1. 服务器实例1(快速时钟)使用时间戳1000保存更新。
  2. 客户要求更新并找到此更新。
  3. 服务器实例2(慢速时钟)使用时间戳950保存另一个更新。
  4. 客户要求更新,但由于时间戳没有增加,因此无法找到此更新。
  5. 据我所知,从来没有任何这样的时钟同步保证。这改变了吗?

    更新

    我刚刚意识到,即使时钟完美同步,由于查询的最终一致性,这种方法可能会错过结果。如果稍后的更新最终在早期更新之前提交并使其成为同时查询而前一个更新没有,则它将隐藏先前的更新。或者我错过了什么?

1 个答案:

答案 0 :(得分:0)

我在时钟和Google云端平台上找到的唯一文档是herehere。 根据{{​​3}},实例使用NTP服务进行同步,并且已经为您完成了。

相关问题