4

何千人ものユーザーが使用するチャットアプリケーションを作成することを計画しています。当初、私はネット上で多くのチュートリアルを行い、PHPおよびMySQLチャットアプリケーションについて多くのことを読みました。この検索中に、PHPのチャットアプリケーションは何千人ものユーザーに適していると言う人がたくさんいます。それらのほとんどは、NodeJSの使用を提案しました。私がここで抱えている問題は、これらの投稿のいずれにも、NodeJSが優れている理由が記載されていないことです。

私が読んだすべてのPHPチャットチュートリアルから、2人のユーザー間のチャットセッション中に、彼らが交換しているメッセージがデータベースに送受信されているようです。私の質問は次のとおりです。

  1. NodeJSでは、メッセージはデータベースに送受信されませんか?
  2. NodeJSはチャットメッセージをメモリなどに保存しますか?
  3. PHPやMySQLとどう違うのですか?
  4. または、NodeJSはデータベースをまったく使用しませんか?

誰かがNodeJSでチャットアプリケーションがどのように機能するかを理解するのを手伝ってもらえますか?

私はコードスニペットを求めていません。言葉で説明したい。NodeJSに関するチュートリアルがたくさんあることは知っていますが、特にチャットアプリケーションについて質問しています。あなたの説明は私が特定のことをよりよく理解するのに役立ちます。

4

1 に答える 1

3

PHP と Node.js の主な違いは、Node.js がマルチスレッドとイベントをサポートすることです。

PHP では、新しいメッセージがないか定期的にサーバーに ping を送信する必要があります。各ユーザーはこれを行う必要があります。

Node.js では、よりスマートなソリューションを実装できます。クライアントがサーバーに 1 回 ping を送信し、新しいメッセージを受信したときにのみ応答を取得する場合。その後、再度 ping を実行します。

これにより、サーバーの負荷が大幅に軽減され、より多くのユーザーを同時に処理できます。

于 2012-12-19T17:17:42.317 に答える