2

私のウェブサイトにstackoverflow(誰かが質問に回答/コメントを追加したとき)のようなリアルタイム通知システムを実装する必要があります。それを appengine に実装する最も簡単な方法はチャネル API であることがわかりました。しかし、チャネル API のクォータ制限に取り戻されました。課金を有効にすると、作成できるトークンは 1 分あたり 60 トークンのみです。

  • トラフィックの急増 (1000 新規ユーザー/秒) がある場合、このチャネル レート制限にどのように対処しますか?
  • 5000 人のユーザーを (いつでも) 管理するには?
  • また、 token の最大有効期限は?

    *すべてのユーザーにトークンを発行する必要があると仮定します。

4

1 に答える 1

4

チャネル API は、見ている質問に対する回答が追加されたことを誰かに通知するという単純なユース ケースには過剰に思えます。Channel API は、数秒の遅延が望ましくない結果を引き起こすユースケースにより適しているようです。

ユーザーが見ているコンテンツに何かが起こったことを数秒ごとに更新するだけでよい場合は、おそらく最も基本的なショート ポーリング アプローチを使用できます。

ページ上のこのようなもの:

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

ソース: jQuery、単純なポーリングの例

変更が行われるたびに、それを memcache にロードします。「ajax/test.html」への投稿は、memcache の更新をチェックするハンドラーに送られます。この方法では、データストアにアクセスしていません。

于 2013-01-18T17:13:48.523 に答える