Can PHP Power Comet Real-Time Messaging?
バックエンドとして PHP を使用してリアルタイム チャットを実装することを検討することもできます。しかし、この考えには一般的な批判が影を落としています。
「PHP は、各ブラウザ クライアントとの永続的な接続を維持する必要があるため、Comet にとって不適切な選択であると伝えられています。mod_php を利用すると、それぞれのブラウザ クライアントに対して排他的に Apache の子を結び付ける必要があります。クライアントにとって、ソリューションはスケーラブルではありません。」
をさらに深く掘り下げる問題
この懸念に対処するために、根本的な課題を調べてみましょう:
Apache のスレッド管理
すべての Apache リクエストは個別のワーカー スレッドに関与します完成するまで。 Comet リクエストは、持続時間が長いことで知られており、これらのスレッドを独占する可能性があります。
PHP の同時実行制限
Apache のスレッド割り当てが解決された場合でも、PHP の性質上、一意のスレッドが必要ですリクエストごとに。その結果、FastCGI は状況を改善できません。
継続: PHP の範囲を超えて
イベント トリガーで Comet リクエストを再開できるようにする継続は、本質的にはありません。 PHP でサポートされています。
可能解決策
これらの障害にもかかわらず、回避策は存在します。
注意点
これらのソリューションには注意点があります。イベント MPM は大幅な改善を提供しない可能性があり、負荷分散によりアーキテクチャがさらに複雑になります。
以上がPHP は Comet ベースのリアルタイム メッセージングを効果的に処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。