EC2でSocket.ioを実行するNodeJSアプリケーションサーバーのグループをセットアップすることを計画しており、ElasticLoadBalancerを使用してそれらの間で負荷を分散したいと思います。ELBがそのままWebSocketをサポートしていないことは知っていますが、シナリオ2で説明したセットアップを使用できます。
ただし、ブログ投稿で説明されているように、この設定ではセッションアフィニティやソースIP情報が提供されないことに気付きました。
ELBはHTTPメッセージを解析していないため、この設定ではSession AffinityヘッダーもX-Forwardヘッダーも使用できません。そのため、Cookieを照合してSession Affinityを確認したり、特別なX-Forwardヘッダーを挿入したりすることはできません。
Socket.ioはこれらの状況でも機能しますか?または、SSLを使用してロードバランサーの背後にSocket.ioアプリサーバーのセットを配置する別の方法はありますか?
編集:ティムキャスウェルはすでにここでこれを行うことについて話します。これを設定する方法を説明する投稿はありますか?ここでもセッションの粘着性はありませんが、問題なく機能しているようです。
余談ですが、WebSocketでのスティッキーセッションは実際に必要ですか?情報は新しい個別のリクエストとして送信されますか、それともすべての情報が移動するリクエストと接続が1つだけですか?