0

複数のプロセスで tornado サーバーを起動します。

   server.bind(8000)
   server.start(0)

4 プロセッサ システムを使用していると仮定すると、4 つのプロセスが作成されるはずです。接続するすべてのクライアントに対して、websocket (WS) 接続を開始します。プロセス 1 のクライアント A とプロセス 2 のクライアント B の間でメッセージをブロードキャストしたいので、プロセス間で websocket オブジェクトにアクセスできるようにしたいと考えています。私は mongo サーバーを持っており、私が考えた解決策はクライアントの WS をピクルすることでした。 1 mongo に保存し、プロセス 2 を取得してこれを取得し、ピクルを解除してから WS を使用します。ただし、選択したオブジェクトをプロセス間で共有できるとは思いません。

マルチプロセスシステムでトルネードプロセス間でWSを共有する最良の方法を誰かが提案できますか?

ありがとう

4

1 に答える 1

1

ライブ接続をピクルしてデータベースに保存することはできません。代わりに、各接続は最初にそれを受け入れたプロセスによって所有され、接続を渡す代わりに、特定のクライアントを処理しているサーバーにメッセージを渡します。

于 2015-10-24T21:09:53.617 に答える