Interstage Application Server 高信頼性システム運用ガイド |
目次
索引
![]() ![]() |
第3章 Traffic Directorを利用した負荷分散 |
特に留意点はありません。
負荷分散方式ごとに説明します。
EJBアプリケーションでメソッド呼出し単位の負荷分散を使用する場合において、負荷分散されるタイミングと、クライアント側のプログラミングの留意点について説明します。
負荷分散対象サーバは、Homeインタフェースのメソッドが実行されたタイミングで決定されます。HomeインタフェースのメソッドでEJB objectを取得し、EJB objectに対して処理を実行すると、Homeインタフェースのメソッドが割り振られたサーバで処理が実行されます。
Session Beanを呼び出す場合の処理において、createメソッドを実行後、Remoteインタフェースのremoveメソッドを実行するまで、同一のサーバに振り分けることが保証されます。createメソッドからremoveメソッド間に発行されるビジネスメソッドは常に同一のサーバに割り振られます。
“負荷分散されるタイミング”で説明したように、以下のようにプログラミングされたクライアントアプリケーションでは負荷分散されません。
したがって、新規に処理を実行する場合は、createメソッドから再実行し、処理が分散されるようにプログラミングしてください。
クライアントから呼び出すオブジェクトの振り分け先サーバは、ネーミングサービスのオブジェクトリファレンスの獲得時に決定します。オブジェクトのオブジェクトリファレンスは、獲得したネーミングサービスのオブジェクトリファレンスを使用して獲得するため、クライアントがネーミングサービスのオブジェクトリファレンスの獲得を再実行するまでは、クライアントからのオブジェクト呼出しは、同じサーバに振り分けられることになります。
振り分け先のサーバが停止した場合の再振り分けや、停止していたサーバが復旧した場合の切り戻しなどを行うため、クライアントアプリケーションは以下のように作成することをお勧めします。
Traffic Directorと連携した通信においては通常発生しうる例外に加え、Traffic Director特有の以下の例外が返る場合があります。
上記のマイナーコードは、Traffic Directorにおいて異常を検出した場合に復帰します。(負荷分散対象のサーバがすべて停止した場合や、Traffic Directorで通信時の異常を検出した場合など。)
詳細については“メッセージ集”の“CORBAサービスのマイナーコード”を参照してください。
以下の機能は使用することができません。
使用できない機能 |
使用した場合の動作 |
CORBAアプリケーション情報定義ファイルにiswitch=ONを指定した運用 |
CORBAアプリケーション情報定義ファイルにiswitch=ONを指定した運用は動作しません。Traffic Directorにより振り分けられます。 |
コンポーネントトランザクションサービスのプロセスバインド機能 |
プロセスバインド機能は動作しません。Traffic Directorにより振り分けられ、クライアントアプリケーションにマイナーコード10007が復帰します。 |
目次
索引
![]() ![]() |