付録D.5 他ノードへの転送処理の概要
他ノードへの転送処理の概要について,次の図に示します。
図で示した処理の流れについて,次に説明します。番号は,図中の番号と対応しています。なお,1.はTP1-Xの処理,2.〜10.はTP1-A,TP1-B,TP1-Cの処理についての説明です。
-
TP1-Xはネームサービスを検索した結果,TP1-Aノードのスケジュールサービスにサービス要求をします。
-
TP1-Aのスケジュールサービスがサービス要求しようとした時点で,TP1-Aのサーバが閉塞しているため,キューイングしません。
-
スケジュールサービスは,ネームサービスに対して転送先を検索します。
サービス要求元のRPC要求がdc_rpc_call_to関数でスケジューラダイレクト機能を使用している場合は,転送しないでサービス要求元にエラーを返します。
-
TP1-Bのスケジュールサービスに転送します。
-
サーバの負荷レベルが2で高負荷のためキューイングしません。
-
スケジュールサービスは,ネームサービスに対して転送先を検索します。
-
TP1-Cのスケジュールサービスに転送します。
-
サーバが閉塞中,または高負荷ではないので,サービス要求をメッセージキューに登録します。
-
サービス関数を実行します。
-
サービス関数の実行後,サービス要求を行ったサービス要求元UAPに対して,サービス要求先UAP(サーバUAP1)から,直接応答メッセージを送信します。