WebRole.csの一部としてWebSocketサーバーを実装しましたが、これまでのところ、ユーザーはWebサイトのURLと指定されたエンドポイントを使用してサーバーに接続できます。ここで、WebSocketサーバーに接続したい50,000人のユーザーがいるとしましょう。負荷を処理するには、そのWebロールのインスタンスをさらに必要とします。
私の質問は、複数のWebロールインスタンスがある場合、これは複数のWebソケットサーバーにもなりますか?つまり、ユーザーは引き続き単一のURL / IPを使用して接続し、すべてが相互に接続されますか(たとえば、メッセージをブロードキャストする場合)、またはユーザーは異なるWebSocketサーバー(インスタンスごとに1つ)に接続するために異なるIPを入力する必要がありますか?同じサーバー/インスタンス上のユーザーに接続しますか?
編集:特定の問題
したがって、接続時にユーザーが追加される場合:
private static List<UserContext> Users = new List<UserContext>();
WebRole.cs内。そして私は放送方法を持っています:
private static void Broadcast(String message)
{
foreach (UserContext uc in Users)
{
uc.Send(message);
Console.WriteLine("Broadcasting to: " + Users.IndexOf(uc));
}
}
メッセージはWebサイトのすべてのユーザーにブロードキャストされますか、それとも各インスタンスに独自のユーザーリストがあり、特定のインスタンスに接続しているユーザーにのみブロードキャストされますか?