Service Broker のアクティブ化

Service Broker のアクティブ化を利用すると、メッセージ トラフィックに合わせて動的にアプリケーションのスケールを変更できます。一般的には、サービスへのトラフィックの変化を予測できない場合、またはサービスが受信するトラフィックに合わせてサービスのスケールを動的に変更する必要がある場合、アプリケーションでアクティブ化を行います。

アプリケーションで行う必要がある作業が発生すると、Service Broker によってアプリケーションが起動されます。

アクティブ化には、内部アクティブ化と外部アクティブ化の 2 種類があります。内部アクティブ化は SQL Server ストアド プロシージャに作用します。つまり、ストアド プロシージャが直接アクティブ化されます。外部アクティブ化は、SQL Server とは独立して実行されるプログラムに作用します。外部アクティブ化では、Service Broker により、外部プログラムから別のキュー リーダーを起動することを示す SQL Server イベントが生成されます。

すべての Service Broker アプリケーションでアクティブ化が使用されるわけではありません。アプリケーションが起動時に大量のリソースを必要とする場合、または不定期に発生するメッセージの応答時間が最重要視される場合は、アプリケーションを SQL Server と同時に起動して実行しておく設計の方が適しています。何度か実行した方がよいタスクについては、定期ジョブとして実行するようにアプリケーションを設計することが適しています。Service Broker を使用するアプリケーションの起動方法の選択の詳細については、「起動方法の選択」を参照してください。

このセクションの内容