0

クライアントがwebsocket接続を介してAPIゲートウェイサーバーに接続しています。このサーバーは、要求と変換を行うすべてのデータを処理するクラウド機能の群れを編成するだけです。サーバーはステートフルです。必須のセッションデータを保持しています。このデータは、たとえば、特定のユーザーによって要求されるクラウド機能を定義しています。GCPロードバランサはどのようにWebSocket接続を管理しますか?

このサーバーはデータをブロードキャストするためにソケットを使用しないため、ソケット接続は互いに相互作用していません。これは実行されません。したがって、処理する必要があるのは、単一のクライアントからサーバーへの通信だけです。

多くのレプリカを作成し、それらのすべての前に(通常の水平スケーリングのような)ロードバランサを置くとどうなりますか?ユーザーが特定のサーバーインスタンスに接続されている場合、その接続はそこに固執しますか?またはロードバランサによってインスタンス間で切り替わるでしょうか?

答えて

1

ロードバランサには、探しているものを実行できるパラメータがあります。Session affinityです。

"セッションアフィニティを設定すると、同じクライアントからのすべてのネットワーク要求を同じ仮想マシンインスタンスに送信しようとします。"

実際にロードバランサに関連しているように見えても、target poolsおよび/またはbackendsを作成するときに設定してください。このソリューションが特定の構成に適用できるかどうかを確認する必要があります。

関連する問題