スケールアウト構成
Microsoft SQL Server Notification Services のインスタンスは、複数のサーバーにスケールアウトできます。ジェネレータ、イベント プロバイダ、およびディストリビュータを別々のサーバーに配置できます。ホストされないイベント プロバイダやサブスクリプション管理アプリケーションも別々のサーバーに配置できます。このトピックでは、3 つの一般的なスケールアウト シナリオについて説明します。つまり、より高い配信スループットを必要とするアプリケーション、ホストされない (独立した) イベント プロバイダを使用するアプリケーション、および Web サーバー上にサブスクリプション管理アプリケーションを持つアプリケーションです。
ディストリビュータのスケールアウト
大規模なアプリケーションでは、ディストリビュータに遅延が発生する場合があります。これは、通知の書式設定でプロセッサを集中的に使用する場合があること、および通知を配信するシステムで配信に十分な帯域が要求されることが原因です。配信のボトルネックを最小限に抑えるために、アプリケーション定義で複数のディストリビュータを定義することにより、複数のサーバーにまたがるようにディストリビュータをスケール変換できます。ディストリビュータは、利用可能になった配信作業項目を取得します。
次の図は、3 台のサーバーを使用する Notification Services のシステムを示しています。1 台のサーバーがジェネレータとホストされるイベント プロバイダを実行し、残りの 2 台のサーバーがディストリビュータを実行します。
ジェネレータはホストされるイベント プロバイダと共に配置されることに注意してください。これは、ジェネレータ プロセスが CPU やディスクに重大なオーバーヘッドを生じないためです。つまり、大部分のジェネレータの作業はデータベース サーバーで行われます。
メモ : |
---|
各アプリケーションのジェネレータを専用のサーバーにホストできます。ただし、各アプリケーションは 1 つのジェネレータのみを使用します。 |
書式設定および配信に必要な CPU の推奨される数は、フォーマット アルゴリズムと配信ログ設定の複雑さによって異なります。書式設定処理が複雑である場合、ディストリビュータをホストするサーバーでより大きな処理能力が必要になります。通知テキストをログに記録する場合、ログ情報を格納するための十分なディスク領域がアプリケーション データベースで必要になります。詳細については、「ディストリビュータ ログ記録の構成」を参照してください。
一般に推奨される Notification Services サーバーおよびデータベース サーバーの CPU 数は 2 ~ 4 です。データベース サーバーには、データ削除処理がデータを削除するまでの間、イベント、通知、サブスクリプション、およびサブスクライバのデータを格納するための十分なディスク領域が必要になります。さらに、データベース ファイル、ログ ファイル、および tempdb データベースを別々の物理ディスクに配置する必要があります。
ホストされないイベント プロバイダ
Notification Services エンジンは、Notification Services に付属する標準イベント プロバイダ、およびユーザーまたはサード パーティが開発したホストされるカスタム イベント プロバイダをサポートするイベント プロバイダ ホストを実行できます。ただし、ホストされない (独立した) イベント プロバイダを使用する方が適切または容易な場合があります。Web サーバーなどの別のサーバーでこれらのホストされないイベント プロバイダを実行するのが一般的です。
ホストされないイベント プロバイダは、Notification Services API を使用して、データベースへの接続やイベントの送信を実行します。ただし、Notification Services エンジンは必要としません。別のサーバーでホストされないイベント プロバイダを使用する場合、そのサーバーに Notification Services のクライアント コンポーネントをインストールしてインスタンスを登録する必要があります。ただし、Notification Services エンジンを実行する Windows サービスを作成する必要はありません。
次の図は、ホストされないイベント プロバイダをリモートで使用するシステムを示しています。
配置の詳細については、「ホストされないイベント プロバイダの配置」を参照してください。
サブスクリプション管理インターフェイス
サブスクリプション管理インターフェイスは、ホストされないイベント プロバイダと同様に、Notification Services API を使用して、データベースへの接続やイベントの送信を実行します。ただし、Notification Services エンジンは必要としません。Web サーバーなど、サブスクリプション管理インターフェイスをホストするサーバーに Notification Services のクライアント コンポーネントをインストールし、サブスクリプション管理アプリケーションをホストするサーバーでインスタンスを登録する必要があります。ただし、Windows サービスを作成する必要はありません。
次の図は、サブスクリプション管理アプリケーションをリモートで使用するシステムを示しています。
配置の詳細については、「サブスクリプション管理インターフェイスの配置」を参照してください。
参照
処理手順
概念
ハードウェア構成
Notification Services に関する注意点
データベースに関する注意点
データベース リソースの計画