私は、高スループットで多数のクライアント(500K以上)の分散型Cometベースのサーバを構築する必要があります。私は現在、長いポーリング要求の数が多いことに対処するための効率が高いため、Tornadoを使用する可能性を検討しています。分散型Tornadoベースのチャットサーバ
私の心配は、単一のTornadoサーバーがこのような多数の長いポーリングクライアントを処理できるかどうかです。実験として、Tornado Chatのデモ(https://github.com/facebook/tornado/tree/master/demos/chat)を分散環境に展開したいと思います。私。並行して動作している複数のTornadoチャットサーバーがあり、それぞれが変化するクライアントセットを担当しています。
私は、このようなスキームの実装や関連リソースへの参照に関して、あなたが持っているアイデアや考えを感謝します。
ありがとうございます!
Ivan、この場合、rabbitmqはどのように役立つのですか? – securecurve
RabbitMQは、1つの竜巻インスタンス(chat.services.com:8001)が提供するクライアントから別の竜巻インスタンス(chat.services.com:8002)がサービスする別のクライアントにメッセージを配信するのに役立ちます。主な課題は、オンライン、オフライン、アイドルの各オンラインユーザー(プレゼンス)の状態を維持することです。例えば、Facebookは、アイドルストラテジーアルゴリズムを開発しました.1,2,5,8,11秒間アイドル状態のユーザーアクティビティを決定します。これは、ネットワークの負荷を大幅に減らし、優れたスループットを達成するのに役立ちます。 –