私は財務データを取得してMongoDBに書き込む〜30-50ウェブソケット接続を開くサービスを設計しています。毎秒何百ものメッセージが受信される可能性があります。私はAutobahnのPython Twisted Websocketを使っていますが、非同期スレッドを1つ実行するとスケーラブルかどうかは分かりませんでした。私の本質は、単一スレッドのTwistedとMongoDBの両方がそのスループットを処理できることですが、その仮説を確認したいと思います。Twisted reactorはどのくらいのスループットをwebsocketで処理できますか?
私は3つの潜在的なオプションを参照:1つのスレッドを使用して
- を、すべてのWebSocketエンドポイントに接続し、()を呼び出しreactor.run。
- 各websocket接続は独自のthreadに属し、独自のreactor.run()を持っています。すべてのスレッドを生成する1つの主要なUNIXデーモンとして実行します。
- 各websocket接続は、独自のスレッドに属し、UNIXデーモンとは異なるスクリプトで実行されます。
最も堅牢なオプションは何ですか?どうもありがとう!
オプション3は、複数のCPUコアを利用できる唯一のオプションです(問題がある場合)。 – freakish