Как реализовать Socket.IO с ASP.Net, IISNode, Node.JS и SQL Server для push-уведомлений на основе событий?

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

Я заметил здесь, что изменения, внесенные в CouchDB, могут быть обнаружены с помощью потока _changes, приняты Node, и процесс запустится. Я хотел бы реализовать что-то подобное (я использую SQL Server, но точка входа на этом уровне может быть не лучшим решением).

Вместо того, чтобы следовать примеру CouchDB (обнаружение событий в базе данных, я думаю, что это только усложняет ситуацию, поскольку нас интересуют клиентские события), я подумал, что когда происходит событие, такое как вход пользователя в систему, сообщение отправляется на сервер узла с некоторыми деталями события (запрос RESTful?). Затем это сообщение обрабатывается и передается всем подключенным клиентам; соответствующий клиент отображает уведомление.

Предлагаемая экосистема:

  • .Net 4.0
  • IIS
  • IISNode
  • Socket.IO
  • Node.JS
  • SQL Server 2008

Будет построена поверх существующей проект с использованием .Net framework (IIS и т.д.). Браузеры многих клиентов не поддерживают веб-сокеты, поэтому использование Socket.IO — хороший вариант (резервная поддержка). Однако из того, что я вижу, Socket.IO поддерживает только длинный опрос через IISNode (что на самом деле не проблема).

Вариантом может быть доступ к конечной точке Socket.IO/Node для всех клиентов, чтобы клиентские уведомления можно было отправлять через JS на сервер Node, который передает сообщение. (следует базовым примерам чат-сервера/клиента/сервера).

В качестве альтернативы можно использовать конечную точку IIS, но она может поддерживать только длительный опрос (через Socket.IO). Это может предложить некоторую дополнительную внутреннюю обработку .Net, но может чрезмерно усложнить архитектуру.

Доступно ли для Node уведомление о событиях на основе SQL Server?

Что было бы лучшим подходом?

Если я неправильно понял терминологию конфигурации экосистемы, поясните, пожалуйста.

Спасибо.

14
задан ElHaix 5 March 2012 в 16:49
поделиться