Я реализовал сервер websocket как часть WebRole.cs, и до сих пор он работает, пользователи могут подключаться к серверу с использованием URL-адреса веб-сайта и указанной конечной точки. Предположим, у меня есть 50 000 пользователей, которые хотят подключиться к серверу websocket, для обработки нагрузки потребуется больше экземпляров этой веб-роли.Масштабирование веб-роли в окнах azure
Мой вопрос в том, что, если существует несколько экземпляров веб-роли, это приводит также к нескольким серверам веб-сокетов? т.е. будут ли пользователи по-прежнему подключаться с использованием только одного URL/IP и все будут связаны друг с другом (например, при трансляции сообщения) или пользователям потребуется ввести другой IP-адрес для подключения к различным серверам веб-узлов (по одному для каждого экземпляра) и только быть подключенным к пользователям на одном сервере/экземпляре?
EDIT: Конкретная проблема
Так, если при подключении пользователя добавляется к:
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));
}
}
Будет ли сообщение будет транслироваться для всех пользователей на веб-сайте, или каждый экземпляр иметь свой собственный список пользователей, и поэтому только вещать для пользователей, подключенных к конкретному экземпляру?
Какая UserContext (библиотека сокетов) вы используете? –
Alchemy Web Sockets - http://alchemywebsockets.net/ – Matt