8

tornado websocket チャットの例では、参加者はセット (リンク) に格納されており、単一サーバーの場合に便利です。しかし、アプリケーションの複数のインスタンスを実行し、nginx をロード バランサーとして実行する場合、この場合、どのように参加者を保存するのがよいでしょうか?

4

1 に答える 1

6

pubsubRedisの機能を使用することを検討してください。(リンク)

編集 :

クライアントがチャットルームにログオンするsubscribeと、チャネルにアクセスできますchatroom。どの竜巻インスタンスを使用しているかは問題ではありません。このモジュールを使用すると、チャネルを非同期でリッスンし続けることができます。

別のクライアントがチャットルームにメッセージを送信した場合 (つまり、チャネルにメッセージを公開したchatroom場合)、すべてのトルネード インスタンスは、チャネルにサブスクライブした人にメッセージを自動的に送信します。次に、websocket 経由でメッセージを送信できます。

例については、このデモをご覧ください。

于 2013-06-03T09:28:41.017 に答える