1

質問があります。Facebook はおそらく ajax を使用してユーザーに新しいメッセージを通知しますが、これは正しいですか? もしそうなら、これはデータベースに信じられないほどのレベルに課税しませんか? 何百万人ものユーザーが毎秒オンラインでメッセージ ステータスを要求しています。それとも、これについて間違った方法で考えていますか?

4

1 に答える 1

0

pollingと呼ばれる手法について質問しています。そして、スケーラビリティの問題があることは正しいです。一般的には良い考えではありません。

[暴言] フェイスブックが何をしているのかさっぱりわからない。私はフェイスブックが嫌いです。それは、テキストメッセージやメールを止めない酔っぱらいの売春婦のようなものであり、使用する必要があります.[/暴言].

ポーリングに代わるより良い方法があります。1 つの手法はロング ポーリングと呼ばれ、次にサーバー サイド プッシュがあります。

基本的な「ロング ポーリング」を実装するにはどうすればよいですか? を参照 してください。 および https://stackoverflow.com/questions/6883540/http-server-to-client-push-technologies-standards-libraries

ロング ポーリングでは、クライアントは要求を送信しますが、すぐに応答を期待しません。応答は、すぐに、1 秒または 1 時間で返される可能性があります。課題は、サーバーが未処理の要求をリソースを集中的に使用しない方法で管理することです。

サーバー側のプッシュでは、サーバーはクライアントとの接続を維持し、イベントが発生したときにその接続にメッセージをブロードキャストできます。

どの代替手段を使用するかは、テクノロジー スタックによって少し異なります。たとえば、node.js には socket.io と呼ばれるものがあります (これは、html5 websockets を使用したサーバー側のプッシュだと思います)。

于 2013-10-16T19:53:09.473 に答える