![]() ![]() ![]() ![]() |
エンドポイント URI とは、ビジネス サービスがアクセスする外部サービスの URL です。Oracle Service Bus では、ビジネス サービスのエンドポイント URI を 1 つ以上定義する必要があります。ビジネス サービスに複数のエンドポイント URI を定義する場合、次のロード バランシング アルゴリズムのいずれかを定義する必要があります。
ロード バランシング アルゴリズムは、ビジネス サービスがエンドポイント URI へのアクセスを試行する方法を制御します。エンドポイント URI の状態は、オンラインまたはオフラインです。詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「
ビジネス サービスの操作設定のコンフィグレーション」を参照してください。
ビジネス サービスの再試行オプションを定義できます。再試行オプションでは、ビジネス サービスが最初の失敗後にエンドポイント URI へのアクセスを試行できる最大回数を指定します。たとえば、エンドポイント URI eu1
、eu2
、および eu3
を使用した場合のビジネス サービス B の動作を考えてみます。再試行回数は、それぞれ 1
、2
、および 4
に設定しています。
要求を処理できない場合や、エンドポイント URI eu1
にアクセスできない場合、ビジネス サービス B は eu2
を使用して要求を処理しようとします (再試行 1)。再試行が失敗した場合には、エラーを返します。ビジネス サービスは、3 番目のエンドポイント URI eu3
を試行しません。
要求を処理できない場合や、エンドポイント URI eu1
にアクセスできない場合、ビジネス サービス B は eu2
を使用して要求を処理しようとします (再試行 1)。再試行が失敗した場合には、eu3
を使用して要求を処理しようとします (再試行 2)。再試行が失敗した場合には、エラーを返します。
要求を処理できない場合や、エンドポイント URI eu1
にアクセスできない場合、ビジネス サービス B は eu2
を使用して要求を処理しようとします (再試行 1)。再試行が失敗した場合には、eu3
を使用して要求を処理しようとします (再試行 2)。次に、[再試行の反復間隔] でコンフィグレーションした間隔 (秒) をおいて eu1
を試行します (再試行 3)。これに失敗すると、eu2
を再試行します (再試行 4)。再試行が失敗した場合には、エラーを返します。
再試行回数を 0
に設定すると、ビジネス サービスは、失敗後に再試行を実行しません。
注意 : | ビジネス サービスがエンドポイントを再試行する順序は、ロード バランシング アルゴリズムによって制御されます。 |
通信エラーやアプリケーション エラーが発生すると、ビジネス サービスは要求の処理に失敗します。
通信エラーは、さまざまなネットワークの問題によって発生します。その場合、別のエンドポイント URI を使用して要求を再試行すると正常に処理できる可能性があります。アプリケーション エラーは、要求の形式が正しくない場合やエラーが原因で発生します。すべてのエンドポイントは、このエラーを処理できません。その場合、使用した転送に応じて、ビジネス サービスの [転送コンフィグレーション] ページにある [アプリケーション エラーの再試行] を [いいえ] に設定することにより、アプリケーション エラーの再試行動作を無効にできます。
通信エラーは、応答していない URI に対してビジネス サービスがアクセスを試行するたびに発生します。ビジネス サービスをコンフィグレーションすることにより、応答していない URI をオフラインとしてマークできます。これにより、応答していない URI に対してビジネス サービスがアクセスを繰り返し試行することを防止し、通信エラーを回避します。
これを行うには、ビジネス サービスの [オフラインのエンドポイント URI] 操作設定を有効にする必要があります。以下の節の説明に従うことにより、エンドポイント URI を一時的または永続的にオフラインとしてマークできます。
ビジネス サービスが短い時間間隔で自動的に同じエンドポイントを再試行するようにするには、エンドポイント URI を一時的にオフラインとしてマークします。ユーザが手動でリセットするまで、ビジネス サービスがエンドポイント URI をオフラインとして処理するようにするには、エンドポイント URI を永続的にオフラインとしてマークします。
指定した時間間隔でビジネス サービスが自動的に同じエンドポイントを再試行するようにするには、エンドポイント URI を一時的にオフラインとしてマークします。
エンドポイント URI を一時的にオフラインとしてマークするには、ビジネス サービスの [オフラインのエンドポイント URI] 操作設定にある [再試行間隔] の値を指定します。通信エラーが発生すると、エンドポイント URI の状態は [オフライン] に変更されます。再試行間隔の期間が経過すると、そのビジネス サービスは新しい要求を処理するために、このエンドポイント URI へのアクセスを試行します。この試行が正常に実行された場合、エンドポイント URI は、再びオンラインとしてマークされます。エンドポイント URI にアクセスできなかった場合、再試行間隔の期間、その URI は再びオフラインとしてマークされ、このサイクルが繰り返されます。
このコンフィグレーションは、通信エラーが一時的であり、自動的に修復する場合に役立つ可能性があります。たとえば、一時的なオーバーロードの場合、通信エラーは発生しますが、エンドポイントは自動的に正常動作に復帰するため、手動で介入する必要はありません。
ユーザが手動でリセットするまで、ビジネス サービスがエンドポイント URI をオフラインとして処理するようにするには、エンドポイント URI を永続的にオフラインとしてマークします。
エンドポイント URI を永続的にオフラインとしてマークするには、ビジネス サービスの [オフラインのエンドポイント URI] 操作設定にある [再試行間隔] の値を 0
時間 0
分 0
秒に指定します。通信エラーが発生すると、エンドポイント URI の状態は [オフライン] に変更され、エンドポイント URI を再びオンラインとしてマークするまでオフラインに保持されます。
詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「
ビジネス サービスの操作設定のコンフィグレーション」、および「実行時の Oracle Service Bus のモニタ」を参照してください。
このコンフィグレーションは、手動介入によって解決する必要があるエンドポイント URI の問題に起因する通信エラーが発生した場合に役立ちます。
Oracle Service Bus Console または JMX モニタリング API を使用してメトリックをモニタできます。Oracle Service Bus Console の使用方法については、「Oracle Service Bus Console からサービスの統計にアクセスする方法」を参照してください。JMX モニタリング API の使用方法については、『JMX モニタリング API プログラミング ガイド』を参照してください。
Oracle Service Bus Console では、サービスの [サービスのモニタの詳細] ページにある [エンドポイント URI] タブでエンドポイント URI のメトリックを使用できます。回数、応答時間、エンドポイント URI の状態などのメトリックがあります。
このビューに表示される統計の詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「ビジネス サービスのエンドポイント URI のメトリックの表示」を参照してください。
エンドポイント URI は、URI 状態統計と URI レベル統計を使用してモニタできます。以下は、エンドポイント URI をモニタする際に予期される動作の説明です。
Oracle Service Bus Console の状態統計は、エンドポイント URI がオンラインであるか、オフラインであるかを示します。JMX モニタリング API を使用してエンドポイント URI の状態を取得することもできます。表 6-1 は、考えられるエンドポイント URI の状態についての説明です。
注意 : | URI が複数のビジネス サービスに関連付けられている場合、同じエンドポイント URI の状態がビジネス サービスごとに異なる可能性があります。 |
エンドポイント URI のパフォーマンス メトリックでは、特定のエンドポイントで処理されたメッセージの数、失敗の数、およびその応答時間に関する情報が提供されます。次のメトリックは、エンドポイント URI のモニタ用に使用できます。
これらの統計の詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「ビジネス サービスのエンドポイント URI のメトリックの表示」を参照してください。
Oracle Service Bus Console を使用するか、パブリック API を使用することにより、オフラインのエンドポイント URI をオンラインとしてマークできます。
Oracle Service Bus Console では、[サービスのモニタの詳細] ページからオフラインのエンドポイント URI をオンラインとしてマークできます。[エンドポイント URI] タブの [アクション] カラムにある [クリックすると、このエンドポイント URI がオンラインとしてマークされます] アイコンをクリックします。詳細については、『Oracle Service Bus Console の使い方』の「モニタ」にある「ビジネス サービスのエンドポイント URI のメトリックの表示」を参照してください。
次の場合には、すべてのエンドポイント URI がオンラインとしてマークされます。
API を使用して、オフラインのエンドポイント URI をオンラインとしてマークすることもできます。この方法は、ビジネス サービスのモニタを有効にしていないが、そのエンドポイント URI をオンラインとしてマークする必要がある場合に役立ちます。詳細については、Javadoc の com.bea.wli.monitoring.ServiceDomainMBean を参照してください。
クラスタ ドメインのエンドポイント URI をオンラインとしてマークすると、すべての管理対象サーバのエンドポイント URI がオンラインとしてマークされます。
エンドポイント URI にアクセスできない場合、アクセスを試行しているビジネス サービスは通信エラーを受け取ります。
応答していない URI をオフラインとして取得するようにビジネス サービスをコンフィグレーションする (「応答していない URI をオフラインとしてマークする方法」を参照) だけでなく、応答していない URI がシステムによって検出された場合にアラートを発生させることができます。これを行うには、エンドポイント URI の状態に基づいた SLA アラート ルールをコンフィグレーションします。
エンドポイント URI の状態に基づいてビジネス サービスのアラート ルールをコンフィグレーションできます。『Oracle Service Bus Console の使い方』の「モニタ」にある「アラート ルールの全般的な情報のコンフィグレーション」の説明に従ってタスクを完了します。
次に、[アラート ルール条件のコンフィグレーション] ページで次のタスクを完了します。
エンドポイント URI の状態に基づくアラート ルール条件は、以下の内容で構成されます。
たとえば、1 つは「オフラインのすべての URI = True
」条件、もう 1 つは「オフラインの特定の URI = True
」条件に基づいた 2 つのアラート ルールがコンフィグレーションされているビジネス サービスを考えてみます。「オフラインのすべての URI = True
」条件に基づいてアラートが生成されている場合、この状態が解決されるまでこのサービスに対するすべての要求が失敗する可能性が高いため、このアラートは重大な問題を示します。
しかし、「オフラインの特定の URI = True
」に基づいてアラートが生成されている場合、そのアラートは、他のエンドポイント URI が応答するために以降の要求が失敗しない可能性があることを示します。
注意 : | すべてのアラート ルールは、単独で評価されます。同じビジネス サービスに対して両方 (特定またはすべての URI) の句に基づくアラートをコンフィグレーションすると、最後のエンドポイント URI をオフラインとしてマークするときに両方のアラートが同時に生成される可能性があります。 |
注意 : | ビジネス サービスが URI を 1 つだけ持つ場合、「オフラインのすべての URI = True 」句と「オフラインの特定の URI = True 」句は同じことを意味し、同じように動作します。 |
注意 : | オフラインからオンラインへの移行に基づくアラート ルール条件の評価は、再度オンライン状態としてマークされている特定またはすべてのエンドポイント URI を追跡する場合を除き、同じように動作します。 |
管理対象サーバをホストしているマシンでは、ネットワークの問題に起因する通信エラーが発生する可能性があります。ビジネス サービスは、このようなイベントについては、(アクセスしているリモート エンドポイントが応答していても) エンドポイント URI が応答していないと解釈します。エンドポイント URI が応答していないために、通信エラーが発生する場合もあります。
最初のケースでは、URI は、(ネットワークの問題があるマシン上の) 1 つのサーバでのみオフラインとしてマークされ、クラスタ内のその他のサーバではすべてオンラインとしてマークされます。[特定のサーバで評価する
] 句に基づくアラート条件ではアラートが生成されますが、[すべてのサーバで評価する
] 句に基づくアラート条件ではアラートは生成されません。
2 番目のケースでは、URI は、すべての管理対象サーバでオフラインとしてマークされます (各サーバがそのエンドポイントへのアクセスを試行するたびに 1 つずつマークされます)。各管理対象サーバがエンドポイントURI をオフラインとしてマークするたびに、[すべてのサーバで評価する
] に基づくアラート ルール条件が満たされ、アラートが生成されます。クラスタ ドメイン内の最後のサーバのエンドポイント URI をオフラインとしてマークすると、[すべてのサーバで評価する
] に基づくアラート ルール条件も満たされ、このアラートが生成されます。
注意 : |
システムのアラート ルールを設計する際には、要件に従って句の組み合わせを 1 つ以上選択する必要があります。
条件のいずれか 1 つを [True] または [False] に設定する必要があります。これらの条件は、クラスタ内のすべてのサーバまたは特定のサーバに対して評価できます。
注意 : | URI の状態が頻繁に変更される場合にトリガされたアラートを見逃さないように、URI の状態に基づくアラート ルールの集約間隔を 1 分に設定することをお勧めします。集約間隔の詳細については、「集約間隔」を参照してください。 |
![]() ![]() ![]() |