Ответ 1
однако, когда речь идет о websockets, каково определение "Одновременно"? Если я открываю веб-узел и его свободное место, что "использование" соединения? Делать незадействованные веб-карты подсчитывать подключение или подсчитывается только тогда, когда сообщение отправлено/получено?
Правильно, свободное время ожидания сеанса связи не потребляет много ресурсов за пределами TCP-авитов и, возможно, пинг/понг на уровне протокола и/или приложения, если ваш сервер их поддерживает. Что еще более важно, поскольку Websockets являются ориентированными на соединение, вы можете удерживать некоторое состояние, связанное с соединением (пользовательский объект, пользовательские данные и т.д.)
Я ожидаю, что у вас будет очень высокое (100 000 000) количество веб-сайтов открываться в любой момент времени, однако будет отправлено очень мало сообщений, возможно, несколько минут, и они всегда будут server- > client (и к одному, конкретному клиенту, а не к широковещательной передаче). Должно ли это договоренность привела меня к какому-либо конкретному пути реализации?
Да, к маршруту, не использующему SignalR: SignalR Scale-out (проверьте раздел ограничений). Используйте WebSockets напрямую и реализуйте свой собственный сервер обмена сообщениями с помощью фреймворка, который позволяет использовать интеллектуальную маршрутизацию, например RabbitMQ. Вы не хотите использовать объединительную плату, которая в основном делает "разветвление" для всех узлов, особенно если данные для каждого пользователя.
SignalR - это polyfill, временная структура до тех пор, пока не будут широко поддерживаться WebSockets... и это уже произошло. Также забыл упомянуть, что WebSockets доступны с сервера Windows 2012 и далее:)