- Service Broker を使用したプログラミングの利点は何ですか?
- Service Broker を使用する必要があるのはどのような場合ですか?
- その使用法を簡単/正確に説明するコード/ビデオのサンプル リンクはありますか?
2 に答える
今日の多くのデータベース アプリケーションでは、キューイングと非同期メッセージングが必要です。Service Broker は、これらのニーズに対応するために、新しいキュー ベースの永続的なメッセージング フレームワークを提供します。Service Broker が提供する Transact-SQL API を使用すると、キューイングまたは非同期通信のアプリケーション要件を処理するサービスを簡単に開発できます。
Service Broker を使用したプログラミングの利点には、次のようなものがあります。
柔軟な開発: 単一の分散アプリケーションで使用されるプログラムは、複数の言語で作成できます。各プログラムは、各分散アプリケーション コンポーネントの機能を提供します。
セキュリティの向上: 証明書を介してセキュリティ要件を表現できるため、アプリケーション コンポーネントが同じセキュリティ コンテキストを共有する必要がありません。Service Broker は、SQL Server のセキュリティ機能を使用してアプリケーションを保護します。
トランザクション処理: メッセージ処理は、データの整合性を確保するために SQL Server トランザクション内で行われます。Service Broker は、データベースへの標準接続を介したリモート トランザクション メッセージングをサポートします。
順序の保証: Service Broker は、関連する一連のメッセージの配信と処理に関して、1 回だけ順序正しく行われることを強力に保証するため、この機能を提供するために追加のコーディングは必要ありません。
信頼性の高い配信: 会話 (2 つ以上のサービス間の関連する一連の通信) に必要なすべてのデータは、SQL Server に保持されます。Service Broker は、クラスタリングとデータベース ミラーリングをサポートしています。会話は、システムの再起動、サーバーのフェイルオーバー、ネットワークの停止などを通じて、障害やデータの損失なしに維持される場合があります。
スケーラビリティの向上: Service Broker ルーティングは、サービスが実行されているコンピューターのネットワーク アドレスではなく、サービスの名前に基づいてメッセージを配信します。これにより、アプリケーション コードを変更せずに、アプリケーションを複数のコンピューターにインストールできます。
既存の知識を活用する機能: Service Broker は Transact-SQL を使用してオブジェクトを作成します。Service Broker を使用するアプリケーションは、ほとんどの場合、Transact-SQL または Microsoft .NET Framework 互換の言語で実装されます。Service Broker アプリケーションを作成するために新しい言語を習得する必要はありません。
詳細については、このリンクを確認してください http://dotnet.dzone.com/articles/c-sqldependency-monitoring
- Service Broker は、データベースで非同期処理を行いたい場合に役立ちます。これにより、パフォーマンスが向上します。
- データベース間通信が必要な場合。
Service Broker を使用してメッセージを作成および送信するためのサンプル コードは、こちら にあります。