現在、メッセージを取得するためにポーリングクライアントを使用するメッセージベースのアーキテクチャを作成しています。明らかな理由から、メッセージをテーブルに挿入するときにイベントを受け取るために、クライアントをSQL Server 2008に登録したいと考えています。SQL Server 2008イベントドリブンアーキテクチャ
SQL Serverメッセージブローカー、CLRストアドプロシージャ、およびStreamInsightを調査しているWebラウンドラウンドが行われていますが、私が探しているものを見つけることができません。SQL Serverがサービスを警告する方法メッセージが受信されたことを示します。基本的には、ポーリングモデルではなくイベント駆動型モデルです。
これはありますか?どこから始めればいいですか?例はありますか?
ありがとうございました! RECEIVE WAITFORについて読んだことがありますが、トリガー内で呼び出せるWCFエンドポイントを登録できることを期待していました。 私は、スレッドをブロックし、DB接続を開いたままにしておくのが好きではありません。私は、少なくとも3つの異なるクライアントがメッセージをチェックするようにするので、私はポーリングクライアントを使用すると思う。スケーリングとフェイルオーバーのために、それぞれ異なるマシン上に2つのインスタンスが最低限必要です。これはエンタープライズアプリケーションです。 RECEIVE WAITFORを使用するために単一のクライアントを使用できますが、1つの障害ポイントを意味します。私は間違いなくそれを望んでいます。 – NickV
さて、オープンな接続はそれほど悪くありません。 「本当の」ものではなく、待っている間にそれ以上のトラフィックはありません。 SQLはプッシュアウトすることができませんので、このポーリングは残しておきます(分かっているように)、ポーリングはより多くのトラフィックになります。 –
いいですね。私は、「一日のうちに、より多くのトラフィックと、おそらくはより多くのオープンな接続」についてのポイントが好きです。私は待っている時間はあまり期待していない! – NickV