我需要在我的网站上实现像 stackoverflow 这样的实时通知系统(当有人对问题添加答案/评论时)。我发现 channel API 是在 appengine 上实现该功能的最简单方法。但 channel API 的配额限制让我犹豫不决。启用计费后,每分钟只能创建 60 个 token 。
- 当您遇到流量高峰(1000 新用户/秒)?
- 如何管理 5000 个用户(在任何时间点)?
token 的最长到期时间是多少?
*假设每个用户都应该获得一个 token 。
最佳答案
对于通知某人他们正在查看的问题的答案已添加的简单用例来说, channel API 似乎有些过分了。 Channel API 似乎更适合几秒钟的延迟会导致不良后果的用例。
如果您需要做的只是每隔几秒向用户更新一次他们正在查看的内容发生的情况,那么您可能可以采用最基本的短轮询方法。
页面上类似这样的内容:
function doPoll(){
$.post('ajax/test.html', function(data) {
alert(data); // process results here
setTimeout(doPoll,5000);
});
}
来源:jQuery, simple polling example
每当发生更改时,将其加载到内存缓存中。发送到“ajax/test.html”的帖子将发送到一个处理程序,该处理程序应检查内存缓存是否有任何更新。这样您就不会访问数据存储。
关于google-app-engine - 如何处理 channel api速率限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14401687/