私は、websocket ハンドラーを使用する Tornado アプリに取り組んでいます。Supervisord を使用してアプリの複数のインスタンスを実行していますが、websocket 接続の負荷分散に問題があります。
nginx がすぐに使用できる Websocket の処理をサポートしていないことはわかっていますが、こちらの指示に従いましたhttp://www.letseehere.com/reverse-proxy-web-socketsで、nginx tcp_proxy モジュールを使用してプロキシ Websocket 接続をリバースします。ただし、モジュールは websocket の URL をルーティングできないため (例: ws://localhost:80/something)、これは機能しませんでした。そのため、Tornado アプリで定義した URL ルートでは機能しません。
Web に関する私の調査から、HAProxy は WebSocket 接続の負荷を分散する方法のようです。ただし、Websocket 接続の負荷を分散し、Websocket URL ルートを処理できるように HAProxy をセットアップするための適切なガイダンスを見つけるのに苦労しています。
これを実現する方法についての詳細な指示をいただければ幸いです。また、他のソリューションにも完全にオープンです。