分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

付録D.5 他ノードへの転送処理の概要

他ノードへの転送処理の概要について,次の図に示します。

図D-6 他ノードへの転送処理の概要

[図データ]

[図データ]

図で示した処理の流れについて,次に説明します。番号は,図中の番号と対応しています。なお,1.はTP1-Xの処理,2.〜10.はTP1-A,TP1-B,TP1-Cの処理についての説明です。

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