我已经实现了一个 websocket 服务器作为 WebRole.cs 的一部分,到目前为止它可以工作,用户可以使用网站的 URL 和指定的端点连接到服务器。现在假设我有 50,000 个用户想要连接到 websocket 服务器,我将需要更多该 web 角色的实例来处理负载。
我的问题是,如果有多个 Web 角色实例,这是否也会导致多个 Web 套接字服务器?即用户是否仍然只使用一个 URL/IP 进行连接并且都相互连接(例如在广播消息时),或者用户是否需要输入不同的 IP 才能连接到不同的 websocket 服务器(每个实例一个)并且只连接到同一服务器/实例上的用户?
编辑:具体问题
因此,如果在连接时将用户添加到:
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));
}
}
消息会广播给网站上的所有用户,还是每个实例都有自己的用户列表,因此只广播给连接到特定实例的用户?