2

我需要在我的网站上实现实时通知系统,例如 stackoverflow(当有人向问题添加答案/评论时)。我开始知道通道 API 是在 appengine 上实现它的最简单方法。但我被通道 API 的配额限制所吸引。启用计费后,每分钟只能创建 60 个令牌。

  • 当您遇到流量峰值(1000 个新用户/秒)时,如何处理此通道速率限制?
  • 如何管理 5000 个用户(在任何时间点)?
  • 令牌的最长到期时间是多少?

    *假设每个用户都应该获得一个令牌。

4

1 回答 1

4

对于通知某人他们正在查看的问题的答案已被添加的简单用例,Channel API 似乎有点过分了。似乎 Channel API 更适合几秒钟延迟会导致不良后果的用例。

如果您需要做的只是每隔几秒钟更新用户他们正在查看的内容发生了什么事情,那么您可能只需要使用最基本的短轮询方法。

页面上是这样的:

function doPoll(){
    $.post('ajax/test.html', function(data) {
        alert(data);  // process results here
        setTimeout(doPoll,5000);
    });
}

来源:jQuery,简单的轮询示例

每当进行更改时,将其加载到内存缓存中。“ajax/test.html”的帖子将发送到一个处理程序,该处理程序应该检查内存缓存是否有任何更新。这样您就不会访问数据存储。

于 2013-01-18T17:13:48.523 回答