Я определяю параметры архитектуры для проекта, который будет отображать живые обновления (например, 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 и другие, я думаю, что это может быть слишком много в зачаточном состоянии, чтобы применить к крупномасштабной производственной системе.
Могу ли я получить комментарии от любого, кто использовал какие-либо технологии и продукты, перечисленные выше?
Спасибо.
UPDATE
Я все еще ищу некоторые хорошие серверы WebSocket, которые надежны на производственном уровне. Я недавно добавил XSockets и SignalR в лагерь Websockets. Однако на данный момент есть еще два основных претендента. Это может быть только из-за того, что у них есть удивительно хорошие маркетинговые команды, хороший материал, доступный для разработчиков - API и видео. Многие другие реализации, похоже, все еще находятся в фазе новорожденного, где приводятся примеры подключения только с несколькими клиентами. Хотя это демонстрирует технологию, эти демонстрации не подкреплены значительными данными полезной нагрузки / грузоподъемности. Kaazing и LightStreamer соответствуют следующим требованиям.
В XSockets есть несколько хороших примеров, но опять же отсутствуют некоторые реальные показатели производства.
Похоже, что SignalR еще не был протестирован в реальной производственной среде. Решение для горизонтального масштабирования находится в разработке, но пока не выглядит стабильным. Будем рады увидеть, как этот проект будет в будущем.
Основные требования:
- Возможность реализации резервной технологии (если HTML5 / WebSockets
нет в наличии)
- Большое количество одновременных подключений и количество сообщений в
второй
- Масштабируемость - возможность добавления дополнительных серверов / узлов для больших
требования к трафику