nodejs、express、socketio を使用してチャット アプリを作成しています。1 つの部屋でいくつかのチャットをサポートし、複数の部屋をサポートします。また、グローバル変数roomsなどのクライアント データをメモリに保持し、クライアント データを次のように保存します。
var rooms = {
"room1": [
{username: "user1", socket: user1Socket},
{username: "user2", socket: user2Socket},
],
"room2": [
{username: "user3", socket: user3Socket},
{username: "user4", socket: user4Socket},
]
}
しかし、クラスターには複数のサーバーがあり、クライアントはどのサーバーに接続するかを知りませんでした。これは負荷イコライザーの仕事であるためです。その後、問題が発生しました。ユーザー 1 とユーザー 2 は同じ部屋にいる必要がありますが、そうではない可能性があります。別のサーバーに接続します..
何をすればよいでしょうか?