Я изучаю архитектурные варианты проекта, который будет отображать живые обновления (например, Facebook) действий пользователей - логинов, фотографий и т. Д. Два основных компонента пользовательского интерфейса - это автоматически обновляемая область прокрутки, в которой будут перечислены новые уведомления (фотографии и т. д.), а также панель инструментов, которая будет обновляться такими вещами, как обновленное количество сообщений и т. д.
Претендентами на это являются технологии на основе Jabber / Comet / XMPP и WebSocket.
Кометный лагерь:
Лагерь WebSockets:
(нельзя было разместить более двух ссылок)
Поскольку существующая инфраструктура представляет собой стек Microsoft, я бы не стал вводить в эту смесь серверы на базе Java. Сказав это, он оставляет (очень привлекательные) WebSync (Comet) и SuperWebSocket (WebSockets). Однако интеграция Pokein с DLL довольно проста и в проект .Net.
Существуют ли еще какие-либо инициативы WebSocket на уровне производства для .Net? Еще рано внедрять WebSockets в стек Microsoft, и следует ли мне отдать предпочтение чему-то вроде Kazing?
Я все еще жду отчета о типах и версиях браузеров нашей текущей пользовательской базы (проверка совместимости с HTML5). Я подозреваю, что это число будет низким (более старая пользовательская база). Если это так, вариант Comet будет победителем.
Что еще нужно учитывать?
Могу ли я получить комментарии от любого, кто использовал какие-либо из перечисленных выше технологий и продуктов?
Спасибо.
Я пристрастен (я работаю в Frozen Mountain), но вам стоит попробовать WebSync.
WebSync v4 использует WebSockets в дополнение к возврату к длительному опросу / обратному вызову по мере необходимости. WebSockets в WebSync также используют стандартные HTTP-порты, поэтому проблем с маршрутизаторами / filrewalls и т. Д. Не возникнет.
В «нормальной» системе вы должны видеть ~ 20 тыс. Одновременных (на узел) и ~ 100 тыс. Сообщений в секунду. Это очень приблизительные цифры, поскольку они сильно зависят от вашей системы и типов отправляемых вами сообщений и т. Д. Мы видели до 50 тысяч пользователей (на узел) и (в другом тесте) 300 тысяч сообщений в секунду. .
Пара комментариев от других людей, которые его использовали:
https://stackoverflow.com/a/8525454/25330
https://stackoverflow.com/questions/2604193/websync-pros-and-cons
Судя по моим исследованиям, хорошим вариантом может быть просмотр Node.JS с SocketIO с использованием IISNode. Тем не менее, было много упоминаний о Node.JS с SignalR, и, если углубиться в него, интеграция SignalR с .Net является полностью бесшовной.