3

こんにちは、Web ベースのチャット プログラムを作成します。すべてのチャットは非公開で、グループボックスはありません。

すべてのチャットのログを保持する必要があります。私の考えは、すべてのメッセージを mysql データベースにプッシュし、このデータベースを 0.5 秒ごとに受信メッセージをチェックすることです。

これは Web アプリを作成するための最良の方法ですか? サイトは、同時にチャットする 2000 人のユーザーをサポートする必要があります。

より良いオプションはありますか?複数のデータベース、テキスト ファイル、TCP/IP (IRC) と SQL の組み合わせなどについて話している人を見てきました。

4

1 に答える 1

2

MySQL は一度に大量の同時リクエストを処理できますが、データベースをどのように管理および保守するかがポイントになります。

完全に維持され、索引付けされた表は問題を示さないはずです。テーブルの構造はできるだけ単純にしてください。何かのようなもの

+----------------+--------------+-----------------
|    from        |     to       |   message      |
+----------------+--------------+-----------------

また、チャット プログラムを作成する完璧な方法はありません。次のような他の多くの要因に依存します

  • リクエスト タイプ: AJAX または Comet または WebSocket
  • アプリケーション コーディング:ガベージ コーディングなし、複数の設計パターンの 1 つに従うクリーンな OO コード
  • キャッシング: ほとんどの静的情報を可能な限りキャッシュします。
  • データのアーカイブまたはトランザクション処理
  • メッセージと一緒に何を取得するかをクエリnamesします (以前にキャッシュされたものである可能性があります。これらのものには、avatarなどが含まれます)
于 2012-08-22T21:10:56.717 に答える