Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


2.3.9 ネームサービスを使用したRPC

〈この項の構成〉

(1) ネームサービスを使用したRPC

TP1/ClientからRPCをする際には,TP1/Serverのネームサービスの機能を使用しています。ネームサービスの機能を使用することで,OpenTP1システムのサービス情報の管理を行っています。

TP1/Clientはサービス情報のキャッシュを持っているため,TP1/Serverのネームサービスへの問い合わせを毎回行いません。しかし,キャッシュにサービス情報が登録されていないとき,またはキャッシュの有効期限が切れたときは,TP1/Serverのネームサービスに対して通信が発生します。

(2) ネームサービスを使用しないRPC

TP1/Clientとサーバ間の通信回数を少しでも削減したい場合は,TP1/Serverのネームサービスの機能を抑止できます。

この場合,RPC実行時にネームサービスに問い合わせないため,TP1/Clientとサーバ間の通信負荷を削減できます。TP1/ClientとサーバがWAN経由して接続されている場合などに有効です。

ネームサービスを使用しないRPCを行うかどうかは,クライアント環境定義DCSCDDIRECTで指定します。

この機能を使用する場合,TP1/Serverのスケジュールサービスに対して直接サービスの要求を行います。

なお,この機能の使用時は,ソケット受信型SPPに対してRPCの発行はできません。

(3) 窓口となるTP1/Server

ネームサービスを使用したRPC,およびネームサービスを使用しないRPCの窓口となるTP1/Serverは,ユーザ認証の有無によって次のようになります。ユーザ認証機能については,「2.1 ユーザ認証機能」を参照してください。

(a) ユーザ認証を行う場合

ユーザ認証に成功したTP1/Serverです。

(b) ユーザ認証を抑止する場合

dc_clt_cltin_s関数の引数target_hostに指定したOpenTP1ノード,またはクライアント環境定義DCHOSTに指定したTP1/Serverです。両方指定した場合,dc_clt_cltin_s関数の引数target_hostに指定したTP1/Serverが優先されます。

なお,ユーザ認証を抑止し,dc_clt_cltin_s関数の引数target_hostにNULLを指定,かつクライアント環境定義DCHOSTの指定を省略した場合,ネームサービスを使用したRPC,およびネームサービスを使用しないRPCを使用できません。