この設定を変更すると、新しいメッセージとキュー内に既に存在するメッセージの両方に影響します。値を大きくすると、Oracle Service Bus ランタイムにより、キュー内のメッセージの処理後に、より多くのメッセージをビジネス サービスに送信できるようになります。値を小さくすると、同時実行性の設定値が新しいしきい値を下回るまで、新しいメッセージはすべてスロットル キューに置かれます (スロットル キューを定義している場合)。スロットル キューを定義していない場合、メッセージは破棄されます。
スロットルのメトリックには、Oracle Service Bus Console の [サービスのモニタの詳細] ページにある [サービス] タブからアクセスできます。現在の集約間隔および最後のリセット以降の間隔に対するメトリックを取得できます。詳細については、「Oracle Service Bus Console からサービスの統計にアクセスする方法」を参照してください。
SLA アラート ルールは、スロットルのメトリックに基づいて定義できます。つまり、平均スロットル時間に基づいてアラート ルールを定義できます。詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「アラート ルールの作成と編集」を参照してください。
複数のエンドポイント URI を使用するビジネス サービスのスロットルの使用方法
このトピックでは、複数のエンドポイント URI を使用するビジネス サービスのスロットルを使用する方法について説明します。
Oracle Service Bus では、ビジネス サービスを複数のエンドポイント URI に関連付けることができます。エンドポイント URI の詳細については、「ビジネス サービスのエンドポイント URI の管理」を参照してください。ビジネス サービスを複数の URI に関連付ける際には、個々の URI ではなく、そのビジネス サービスの最大同時実行性をコンフィグレーションする必要があります。各 URI の最大同時実行性は、全体の最大同時実行性とロード バランシングの重みにより、次の数式に基づいて内部的に設定されます。
URI 固有の最大同時実行性 = [ユーザ コンフィグレーションの最大同時実行性] X [重み]
たとえば、3 つのエンドポイント URI eu1、eu2、および eu3 を使用するビジネス サービス B を考えてみます。ロード バランシング アルゴリズムは、ランダムな重みベースであると定義されます。URI の重みは、それぞれ 1、2、および 3 です。ビジネス サービスの最大同時実行性を 10 と定義したと仮定すると、URI 固有の最大同時実行性は、10、20、および 30 です。また、ビジネス サービス B の有効最大同時実行性は 60 です。重みが 3 の最終エンドポイント URI がオフライン状態である場合、このビジネス サービスの有効最大同時実行性は 30 です。
注意 :
ロード バランシングが [ラウンドロビン] または [ランダム] に設定されている場合の URI の重みは 1 です。また、ロード バランシングが [なし] に設定されている場合、プライマリ URI の重みは 1 で、バックアップ URI の重みは 0 です。プライマリ URI がオフライン状態になると、バックアップ URI の重みは 1 になります。
スロットルは、ルーティング オプションでエンドポイント URI がオーバーライドされているメッセージには適用されません。
スロットル使用時に再試行されたメッセージの処理
サービスに対してフェイルオーバが有効である場合、再試行されたメッセージにはスロットルは適用されません。メッセージは、スロットルの操作設定にかかわらず、その次の URI に送信されます。