通知プロジェクトの場合、イベント通知をプッシュしたいと考えています。これらは、ログイン、プロファイルの変更などであり、適切なクライアントに表示されます。それをまとめるためのいくつかのアイデアについて話し合い、最善のアプローチについてアドバイスをもらいたいと思います。
ここで、CouchDB に加えられた変更が _changes ストリームで検出され、Node によって取得され、プロセスが開始されることに気付きました。このようなものを実装したいと思います (SQL Server を使用していますが、このレベルのエントリ ポイントは最適なソリューションではない可能性があります)。
CouchDB の例 (データベース ベースのイベントを検出します。クライアント イベントに関心があるため、これは事態を複雑にするだけだと思います) に従う代わりに、ユーザー ログインなどのイベントが発生すると、メッセージが送信されると考えていました。いくつかのイベントの詳細 (RESTful 要求?) を使用して Node サーバーに送信します。次に、このメッセージが処理され、接続されているすべてのクライアントにブロードキャストされます。適切なクライアントが通知を表示します。
提案されたエコシステム:
- .Net 4.0
- IIS
- IISノード
- Socket.IO
- Node.JS
- SQL Server 2008
これは、.Net フレームワーク (IIS など) を使用して既存のプロジェクトの上に構築されます。クライアントのブラウザーの多くは Web ソケットをサポートしていないため、Socket.IO を使用することをお勧めします (フォールバック サポート)。ただし、私が見る限り、Socket.IO はまだ IISNode を介した長いポーリングのみをサポートしています (これは実際には問題ではありません)。
オプションは、Socket.IO/Node エンドポイントをすべてのクライアントに公開することです。これにより、クライアントベースの通知を JS を介してメッセージをブロードキャストする Node サーバーに送信できます。(基本的な chat-server /client/server の例に従います)。
別の方法として、IIS エンドポイントを使用することもできますが、サポートできるのは (Socket.IO を介した) ロング ポーリングのみです。これにより、追加の .Net バックエンド処理が提供されますが、アーキテクチャが過度に複雑になる可能性があります。
ノードで使用できる SQL Server ベースのイベント通知はありますか?
最善のアプローチは何ですか?
用語エコシステムの構成が正しく理解できていない場合は、明確にしてください。
ありがとう。