サーバ側の設計
特に留意点はありません。
クライアント側の設計
クライアントアプリケーションにおける留意点について説明します。
メソッド呼び出し単位の負荷分散
クライアントから呼び出すオブジェクトの振り分け先サーバは、クライアントからのオブジェクト呼出し毎に決定します。プログラミング上の留意事項はありません。
ネーミングサービスのオブジェクトリファレンス獲得時点の負荷分散
クライアントから呼び出すオブジェクトの振り分け先サーバは、ネーミングサービスのオブジェクトリファレンスの獲得時に決定します。オブジェクトのオブジェクトリファレンスは、獲得したネーミングサービスのオブジェクトリファレンスを使用して獲得するため、クライアントがネーミングサービスのオブジェクトリファレンスの獲得を再実行するまでは、クライアントからのオブジェクト呼出しは、同じサーバに振り分けられることになります。
振り分け先のサーバが停止した場合の再振り分けや、停止していたサーバが復旧した場合の切り戻しなどを行うため、クライアントアプリケーションは以下のように作成することをお勧めします。
任意の間隔ごとにネーミングサービスのオブジェクトリファレンスの獲得処理を行う
定期的に獲得したネーミングサービスのオブジェクトリファレンスを使用し、オブジェクトのオブジェクトリファレンスの獲得処理を行う
例外処理
IPCOMと連携した通信においては通常発生しうる例外に加え、IPCOM特有の以下の例外が返る場合があります。
システム例外:COMM_FAILURE
マイナーコード:0x464a0114, 0x464a0115, 0x464a0116, 0x464a0914, 0x464a0915, 0x464a0916
上記のマイナーコードは、IPCOMにおいて異常を検出した場合に復帰します(負荷分散対象のサーバがすべて停止した場合や、IPCOMで通信時の異常を検出した場合など)。
詳細については「メッセージ集」の「CORBAサービスのマイナーコード」を参照してください。
注意
以下の機能は使用することができません。
使用できない機能 | 使用した場合の動作 |
---|---|
CORBAアプリケーション情報定義ファイルにiswitch=ONを指定した運用 | CORBAアプリケーション情報定義ファイルにiswitch=ONを指定した運用は動作しません。IPCOMにより振り分けられます。 |