2.1.16 マルチスケジューラ機能を使用したRPC
クライアントUAPが,他ノードのキュー受信型サーバ(スケジュールキューを使うSPP)に,マルチスケジューラ機能を使用してサービス要求することによって,一つのOpenTP1システムで,次の3方式のRPCを混在して使用できます。
-
通常のRPC
サービス要求先サーバが存在するOpenTP1システムの中から一つをランダムに選択し,そのOpenTP1システムのマスタスケジューラデーモンにサービス要求を送信する方式。
-
マルチプルポート指定RPC
サービス要求先サーバが存在するすべてのOpenTP1システムのマルチスケジューラデーモンの中から一つをランダムに選択し,サービス要求を送信する方式。
-
通信先を指定したRPC
dc_rpc_call_to関数の引数に指定したポート番号のマルチスケジューラデーモンにサービス要求を送信する方式。
マルチスケジューラ機能の詳細については,「1.3.6(9) マルチスケジューラ機能」を参照してください。なお,この機能は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できませんので,ご了承ください。
マルチスケジューラ機能を使用したRPCの概要を次の図に示します。
|
マルチスケジューラ機能を使用したサービス要求は,マルチスケジューラデーモンを起動しているノードにだけスケジュールします。ただし,サービス要求時に,指定したマルチスケジューラデーモンを起動しているOpenTP1システムが存在しない場合は,マスタスケジューラデーモンにサービス要求を送信します。
ポート番号を指定してサービス要求する際に,マルチスケジューラデーモンのポート番号を指定した場合,指定したマルチスケジューラデーモン経由でサービス要求をスケジューリングします。
マルチスケジューラデーモンがサービス要求を受信した際,サービス要求先ユーザサーバが閉塞していた場合や終了中であった場合は,マルチスケジューラ機能を使用するほかのノードのマルチスケジューラデーモンにサービス要求を送信します。ほかのノードに該当するマルチスケジューラデーモンが存在しない場合は,マスタスケジューラデーモンにサービス要求を送信します。
オンライン中にマルチスケジューラデーモンが異常終了した場合は,OpenTP1システムをダウンさせないで,異常終了したマルチスケジューラデーモンに該当するポート番号を割り当てて再起動します。ただし,再起動が2回失敗した場合は,OpenTP1システムをダウンさせます。