OpenTP1では,RPCによる要求が特定のノードに集中しないようにノード間で負荷を分散する機能があります。これをノード間負荷バランス機能といいます。
ノード間負荷バランス機能を使用するためには,負荷分散の前提として次の条件を満たしている必要があります。
Client .NETでは,TP1/Server側の判断による負荷分散機能だけを提供します。この場合,TP1/Serverのスケジュールサービスが,ノードのスケジュール状態に応じて,より効率的に処理できるノードへ負荷を分散させます。
ここでは,OpenTP1のノード間負荷バランス機能を使用する場合のClient .NET側,TP1/Server側の関連する定義,処理,およびRPCの処理を説明します。
ノード間負荷バランス機能の詳細については,マニュアル「OpenTP1 解説」を参照してください。
Client .NET構成定義で次の指定をします。
これらの指定によって,Client .NET側はTP1/Serverのスケジュールサービスに負荷分散を要求できます。Client .NET側の定義では,どのOpenTP1ノードのスケジュールサービスに判断を要求するかを指定します。
スケジュールを要求するOpenTP1ノードが複数ある場合(<tp1Server>要素を複数指定した場合),<tp1Server>要素を指定した順番にスケジュールを要求します。<tp1Server>要素を指定した順番ではなく,スケジュールを要求するTP1/Serverをランダムに選択する場合,<scheduleService>要素のrandomSelect属性にtrueを指定します。
TP1/Serverの定義では,次のどちらかの設定をする必要があります。