【发布时间】:2012-04-17 03:20:55
【问题描述】:
我正在使用 Google App Engine 编写聊天应用程序。我想记录聊天记录。不幸的是,Google App Engine 数据存储区只允许您每秒写入一次。为了解决这个限制,我正在考虑使用内存缓存来缓冲写入。为了确保不丢失数据,我需要定期将数据从 memcache 推送到数据存储中。
有没有办法在 Google App 上安排这样的工作。引擎?还是我以完全错误的方式处理这个问题?
我使用的是 Python 版本的 API,因此首选 Python 解决方案,但我对 Java 非常了解,可以将 Java 解决方案翻译成 Python。
【问题讨论】:
-
您可以以每个实体组每秒 1 次的名义速率写入,但在现实世界中,您可以写入更多。 memcache 不是存储临时数据的好选择,因为它不能确保如果您将某些内容放入 memcache 中,它会在 1 秒后出现。
-
您的用户聊天的速度有多快?每秒 1 次写入似乎足以跟上几个用户之间的标准聊天。
-
一对用户的持续更新率不会超过每秒 1 条消息。即使是中等繁忙的 IRC 频道也不太可能有这种情况。
-
我不担心超过每秒一次的持续更新率。我担心突发事件会导致我的应用超出数据存储更新 API 中的速率限制并丢失消息。
标签: python google-app-engine memcached google-cloud-datastore