Для проекта уведомлений хотелось бы выдавать уведомления о событиях. Это такие вещи, как вход в систему, изменение профиля и т. Д., Которые должны отображаться соответствующему клиенту. Я хотел бы обсудить некоторые идеи по его объединению и получить совет относительно наилучшего подхода.
Я заметил здесь , что изменения, внесенные в CouchDB, могут быть обнаружены с помощью потока _changes, обнаруженного Node, и процесс запускается. Я хотел бы реализовать что-то вроде этого (я использую SQL Server, но точка входа на этом уровне может быть не лучшим решением).
Вместо того, чтобы следовать примеру CouchDB (обнаружение событий на основе базы данных, я думаю, что это только усложняет вещи, так как мы заинтересованы в клиентских событиях), я подумал, что когда происходит событие, такое как вход пользователя в систему, то сообщение отправляется на сервер Node с некоторыми подробностями события (запрос RESTful?). Это сообщение затем обрабатывается и передается всем подключенным клиентам; соответствующий клиент отображает уведомление.
Предлагаемая экосистема:
- .Net 4.0
- IIS
- IISNode
- Socket.IO
- Node.js
- SQL Server 2008
Он будет построен поверх существующего проекта с использованием платформы .Net (IIS и т. Д.). Многие из браузеров клиентов не поддерживают веб-сокеты, поэтому использование Socket.IO является хорошим вариантом (резервная поддержка). Однако из того, что я вижу , Socket.IO по-прежнему поддерживает только длинный опрос через IISNode (что на самом деле не проблема).
Можно указать конечную точку Socket.IO/Node для всех клиентов, чтобы клиентские уведомления можно было отправлять через JS на сервер Node, который транслирует сообщение. (следует базовым примерам чат-сервер / клиент / сервер).
Альтернативно, конечная точка IIS может использоваться, но может поддерживать только длительный опрос (через Socket.IO). Это может предложить дополнительную внутреннюю обработку .Net, но может усложнить архитектуру.
Доступно ли уведомление Node о событии на базе SQL Server?
Какой будет наилучший подход?
Если я не правильно понял терминологическую конфигурацию экосистемы, уточните.
Спасибо.