我正在考虑如何将GAE + NDB用于新项目,并关注祖先写入每秒写入1次的限制。我可能缺少信息,所以我很乐意寻求帮助。
假设有几个用户使用订单。如果所有新的“订单”实体具有相同的独特祖先,如果说5个用户各自创建一个新订单并且所有5个同时点击“保存”会发生什么?
你知道这些可能性是什么吗?
谢谢!
答案 0 :(得分:1)
在您的用例中,不会发生任何不良事件 - 您的所有写入都将成功。其中一些可能由App Engine在内部重试,但您不必担心。只有当您预计在相当长的一段时间内超过此费率时,您才会感到担忧。然后重试将在之前的重试之前进行,并且提交可能会开始失败。举个例子,在成为问题之前,你可能需要几百万人疯狂地处理这些订单。
从文档(强调我的):
当您尝试写入单个超时时,会发生第一种类型的超时 实体组太快了。写入单个实体组是 由App Engine数据存储区序列化,因此存在限制 您可以多快更新一个实体组。一般来说,这是有效的 超过每秒1到5次更新;一个很好的指导方针 如果你期望一个实体,你应该考虑重新架构 组必须每秒维持一次以上的更新 延长期。