2.8.1 接続障害軽減機能の概要
接続障害軽減機能を使用すると,コネクションが接続障害を検知した場合に,同一アプリケーションドメイン内のほかのコネクションに対しても接続先ごとの障害情報を共有します。これによって,ほかのコネクションが障害となった接続先に対して接続することを防止し,接続障害の発生頻度を軽減します。接続障害情報はアプリケーションドメイン単位で共有されます。
接続障害軽減機能を使用しない場合,障害を検知していないコネクションは障害が発生した接続先に対しても接続を試みます。そのため,同じ接続先を使用するすべてのコネクションは,稼働中の接続先に切り替えるまでに一度ずつ同じ障害を検知するため時間が掛かります。接続障害軽減機能を使用した場合,一度障害を検知した接続先への接続を防止するため,接続先の切り替えに掛かる時間を短縮できることがあります。なお,障害発生時の接続先の切り替えに必要な時間は,接続障害の種類,構成定義の内容,OSの設定などによって異なります。接続障害軽減機能は,特に接続先ホストのハードウェアやOSの障害時に効果があります。ただし,接続先の一時的な障害(サーバ側でのlistenキューのオーバーフローなど)も接続障害情報に登録されるため,TP1/Serverが正常に稼働していても接続先の切り替えが行われることがあります。
障害を検知した接続先に対しては,一定時間経過ごとに接続を試みることができます。これを復旧確認動作といいます。
復旧確認動作は,障害となった接続先が定義されているコネクションのうち,一定時間経過後,最初にサービスを要求するコネクションが行います。復旧を確認し次第,サービスを要求するほかのコネクションを元の接続先に戻します。復旧確認動作を行うかどうかは,Connector .NET構成定義の<connection>要素のfailureCheckInterval属性で指定します。
接続障害軽減機能は,RPCで通信する場合にだけ使用できます。TCP/IP通信機能で通信する場合は使用できません。なお,この機能は次のRPCで使用できます。
-
リモートAPI機能を使用したRPC
-
ネームサービスを使用したRPC
-
スケジューラダイレクト機能を使用したRPC