【发布时间】:2017-04-25 08:53:48
【问题描述】:
我需要通过增加 Google Cloud Datastore 中的写入吞吐量来提高服务器的性能。
要求:
当服务器同时收到超过 5 个创建用户数据的请求时,服务器需要创建或更新这些实体。
但是,我遇到了写作争用问题。
我知道一个可能的解决方案是使用后写缓存机制将可能导致争用的写入操作移动到 Memcache 和降低 Cloud Datastore 命中率的任务队列。
但我想并行执行,没有任何延迟时间。
1.是否可以应用“Sharding Counters”来创建或更新ndb的用户模型?
2.您能否为此提供任何示例代码?
【问题讨论】:
-
您通常只会在使用实体组时遇到这种情况。你是?如果是这样,请考虑重新审视您的模型并使用祖先。您也没有真正提供足够的信息来提供具体的答案
-
对。我发现一个解决方案是在 memcache 中完成所有操作,并创建一个任务队列来更新 Data Store 中的数据。
标签: google-app-engine google-cloud-datastore