2

ユーザーがフォト アルバムで共同作業できるアプリケーションがあります。現在、クライアントでポーリングを使用して、30 秒ごとに新しいコンテンツをチェックしています。いつでも何人でもアルバムをアップロードして表示できます。

サーバー側では、返されるデータをキャッシュします (したがって、新しいコンテンツのクエリは安価です)。複数のクライアントから 30 秒ごとにポーリングすると、より多くのインスタンスがアクティブなままになる (したがってコストが増加する) と思います。

ポーリングの代わりに上記のユース ケースにチャネル API を使用するのはやり過ぎでしょうか? チャネル API はインスタンスも維持しますか? チャネル API を使用する代わりにポーリングが望ましいユース ケースはありますか?

4

1 に答える 1

1

チャンネルを使用していますが、あまり良くありません。チャンネルがネットワークの切断からタイムアウトすると、何らかの理由でブラウザの履歴が台無しになります。1 週間以上前にバグを報告しましたが、まだ承認されていません。1 か月以上前に提出された別のバグも認められていないため、チャネルの問題に関する迅速なサポートは期待しないでください。

チャネルがあると便利です。何らかのステータスが変化した場合に 1 秒もかからずにユーザーに通知できますが、信頼性は高くありません。切断イベントが発生しない場合もありますが、チャネルは機能しなくなります。現在のシステムはチャネルを使用していますが、5 ~ 10 秒ごとにポーリングも行っています。信頼性が低いため、チャネルをポーリングの代わりに使用することはありません。応答を高速化するための方法にすぎません。

それでも、それがあなたのお金を節約するかどうかを解決する必要があります. ユーザーがサーバーにアクセスせずにアプリを 15 分間開いたままにしておくことを期待している場合は、インスタンス時間を節約できる可能性があります。ただし、とにかくユーザーがサーバーにアクセスしている場合、インスタンスをシャットダウンする時間がない可能性があります。また、インスタンスを稼働させておくと、実際にはコールド スタートも少し減らすことができます。

于 2013-05-17T16:44:24.427 に答える