Варианты веб-уведомлений и обновлений в реальном времени с использованием технологий Comet / XMPP и WebSocket в стеке Microsoft?

Я изучаю архитектурные варианты проекта, который будет отображать живые обновления (например, Facebook) действий пользователей - логинов, фотографий и т. д. и т. д. Два основных компонента пользовательского интерфейса - это автоматически обновляемая область прокрутки, в которой будут перечислены новые уведомления (фотографии и т. д.), и панель инструментов, которая будет обновляться такими вещами, как обновленное количество сообщений и т. д.

Претенденты на это - это технологии на основе Jabber / Comet / XMPP и WebSocket.

Лагерь комет:

Лагерь WebSockets:

Поскольку эта существующая инфраструктура является Стек Microsoft, я бы предпочел не вводить в него серверы на базе Java. При этом остается (очень привлекательный) WebSync (Comet) и SuperWebSocket (WebSockets). Однако интеграция Pokein с DLL довольно проста и в проект .Net.

Существуют ли еще какие-нибудь реальные инициативы WebSocket на производственном уровне для .Net? Не слишком ли рано внедрять WebSockets в стек Microsoft, и следует ли мне отдать предпочтение чему-то вроде Kazing?

Я все еще жду отчета о типах и версиях браузеров нашей текущей пользовательской базы (проверка совместимости с HTML5). Подозреваю, что это число будет низким (более старая пользовательская база).Если это так, вариант Comet будет победителем.

Что еще нужно учитывать?

Глядя на некоторые инициативы .Net, такие как Sockets.IO и другие, я думаю, что это может быть еще слишком в начальной стадии, чтобы применяться к крупномасштабному производству. система.

Могу я получить комментарии от любого, кто использовал какие-либо из перечисленных выше технологий и продуктов?

Спасибо.

ОБНОВЛЕНИЕ

Я все еще ищу хорошие серверы WebSocket, надежные на производственном уровне. Я добавил XSockets и SignalR в лагерь Websockets после того, как недавно их нашел. Однако на данный момент есть еще два основных претендента. Это могло быть просто из-за того, что у них потрясающие маркетинговые команды, есть хорошие материалы для разработчиков - API и видео. Многие другие реализации, похоже, все еще находятся на начальной стадии, когда приводятся примеры подключения только с несколькими клиентами. Хотя это демонстрирует технологию, эти демонстрации не имеют резервных копий со значительными данными о полезной нагрузке / нагрузочной способности. Kaazing и LightStreamer соответствуют приведенным ниже требованиям.

В XSockets есть несколько хороших примеров, но, опять же, отсутствуют некоторые реальные производственные показатели.

Похоже, что SignalR еще не был протестирован в настоящей производственной среде. Решение для горизонтального масштабирования находится в разработке, но пока не выглядит стабильным. С нетерпением жду возможности увидеть, как будет развиваться этот проект в будущем.

Основные требования:

  1. Возможность реализации резервной технологии (если HTML5 / WebSockets недоступно)
  2. Большое количество одновременных подключений и количество сообщений на второй
  3. Масштабируемость - возможность добавления дополнительных серверов / узлов для увеличения требования к трафику

10
задан ElHaix 16 February 2012 в 22:40
поделиться