NDB:超过1 / s写入会发生什么?

时间:2014-12-12 20:33:21

标签: google-app-engine google-cloud-datastore app-engine-ndb

我正在考虑如何将GAE + NDB用于新项目,并关注祖先写入每秒写入1次的限制。我可能缺少信息,所以我很乐意寻求帮助。

假设有几个用户使用订单。如果所有新的“订单”实体具有相同的独特祖先,如果说5个用户各自创建一个新订单并且所有5个同时点击“保存”会发生什么?

你知道这些可能性是什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

在您的用例中,不会发生任何不良事件 - 您的所有写入都将成功。其中一些可能由App Engine在内部重试,但您不必担心。只有当您预计在相当长的一段时间内超过此费率时,您才会感到担忧。然后重试将在之前的重试之前进行,并且提交可能会开始失败。举个例子,在成为问题之前,你可能需要几百万人疯狂地处理这些订单。

从文档(强调我的):

  

当您尝试写入单个超时时,会发生第一种类型的超时   实体组太快了。写入单个实体组是   由App Engine数据存储区序列化,因此存在限制   您可以多快更新一个实体组。一般来说,这是有效的   超过每秒1到5次更新;一个很好的指导方针   如果你期望一个实体,你应该考虑重新架构   组必须每秒维持一次以上的更新   延长期