2013-01-18 32 views
2

我需要實現像stackoverflow這樣的實時通知系統(當有人向我的網站添加對問題的回答/評論時)。我開始知道頻道API是在appengine上實現它的最簡單方法。但是我被通道API的配額限制收回。啓用結算時,只能創建60令牌/分鐘。如何處理通道API速率限制?

  • 當您有流量高峯時(1000 新用戶/秒),該通道速率限制如何處理?
  • 如何管理5000個用戶(在任何時間點)?
  • 令牌的最大到期時間又是什麼?

    *假設每個用戶都應該獲得令牌。

回答

4

通道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」的帖子會轉到一個處理程序,該處理程序應該檢查任何更新的memcache。這樣你就不會碰到數據存儲。