1

いわば「募集」されたのは、現在 PHP で書かれており、Apache サーバーを使用している Web プロジェクトでの作業を支援するためです。リアルタイム (または少なくともそれに非常に近いもの) のチャット機能を統合したいと考えています。スケーラビリティは明確な懸念事項であり、この種の作業は私の典型ではありません。

このようなチャット機能の作成について私が読んだものはすべて、サーバーが急速に過負荷になり、クラッシュしないように「ロングポーリング」を使用する必要があります. PHP と Apache は、このような機能の実装には適していないため、たとえば Twisted Python など、いくつかの代替手段を検討しました。

ウェブサイトには約 7,000 行の PHP があります (つまり、すべての言語を直接切り替えるのはかなり難しいでしょう)。したがって、私の質問は、Python を統合して別の言語をセットアップしようとする限り、この状況をどのように管理できるかということです。サーバ?または、これはこれを行う非常に悪い方法ですか?より適した他の選択肢はありますか?(悲しいことに、私が見つけた PHP Comet や AJAX ソリューションの多くは、少しも拡張できません。Apache サーバーは必ずしも必要ではないことに注意してください。ただし、使用するサーバーは、PHP や Python などで動作する必要があります。別々のサーバーを持っています。)

助けてくれてありがとう!

4

1 に答える 1

2

サーバー上で Tornado を使用して、チャット アプリケーションを作成します。その後、クライアント サーバー通信は WebSocket 経由で行うことができます。クライアント側で SockJS を使用する場合、ロング ポーリングを介して古いブラウザをサポートすることもできます。Tornado を使用して作成されたチャット クライアントの例はたくさんあります。始めるのは非常に簡単で、驚くほどスケーラブルです。このようなチャット サーバーは、目に見えるほどの CPU アクティビティを示すことなく、何千ものクライアントにサービスを提供できます。

これは例であり、おそらく少しオーバーエンジニアリングされています https://github.com/diggidanne/websocket-chat/blob/master/server.py

于 2013-02-03T21:00:05.357 に答える