ページの先頭行へ戻る
Symfoware Server V10.0.1 Connection Managerユーザーズガイド(9.x)

1.3 Connection Managerの機能

Connection Managerでは、以下の機能を利用してデータベースアクセスを実現します。

ロードバランシング機能

データベースサーバがロードシェア運用を行っている場合、データの偏在具合により接続するノードを決定したい、どのノードに対しても負荷を均等にしたいという要求が生まれます。Connection Managerでは、アプリケーションのコネクション論理を変更することなく、このような要求を受け付けることができます。SQLサーバ名に対してCONNECT文を実行するノードを定義します。ノードは、1以上複数のノードを定義することが可能です。このとき、複数のノードを定義している場合には、各ノードへの接続数が均等になるようにCONNECT文を実行します。

リカバリ機能

Connection Managerでは、アプリケーションサーバ、データベースサーバのダウンおよび通信回線の異常発生に備え、以下の機能を用意しています。

フェイルオーバコネクション自動切替え機能

この機能は、データベースサーバのダウンが発生した場合に作用します。Connection Managerを利用しない場合、ノード切替えに対してアプリケーションは再接続の処理を組み込む必要があります。再接続処理は、SQL文の実行でエラーを受け取り、データベースサーバの切替えの完了を待ち、CONNECT文の再実行という複雑な手順となります。フェイルオーバコネクション自動切替え機能を利用すると、アプリケーションは、SQL文の実行でエラーを受信した際に、トランザクションを再実行するだけで自動的に待機系での処理継続を行うことができます。フェイルオーバコネクション自動切替え機能には、以下の2つの方式があります。

  • イベント切替え方式

  • プレコネクション切替え方式

イベント切替え方式(スタンバイ機能を利用する場合)

イベント切替え方式は、データベースサーバの切替え事象が発生した段階で待機系のデータベースサーバにコネクションの接続を開始します。

データベースサーバがスタンバイ機能を利用する場合は、イベント切替え方式になります。

プレコネクション切替え方式(ホットスタンバイ機能を利用する場合)

プレコネクション切替え方式は、アプリケーションからCONNECT文を実行したときに、データベースサーバの運用系と待機系の両方にコネクションの接続を行います。その後のSQL文の実行は、運用系で行います。その時にデータベースサーバの切替えが発生した場合には待機系に接続しているコネクションを利用します。事前にコネクションの接続が完了している分、イベント切替え方式に比べてプレコネクション切替え方式の方が切替え時間を短縮することができます。

データベースサーバがホットスタンバイ機能を利用する場合は、プレコネクション切替え方式になります。

コネクション自動削除機能

この機能は、アプリケーションサーバのダウンや通信回線の異常が発生した場合にデータベースサーバ上で作用します。

データベースサーバは、アプリケーションサーバのアプリケーションからの要求に対してコネクションを生成し、データベースのアクセス結果をアプリケーションに通知します。通常、アプリケーションに異常が発生した場合には、コネクションで実行していたトランザクションはロールバックしコネクション自身も自動的に消滅します。しかし、アプリケーションサーバのダウンや通信回線の異常が発生した場合には、データベースサーバ内のコネクションはトランザクションを含めて残留し、そのトランザクションが握っているロックは解除されません。コネクション自動削除機能は、データベースサーバ上でアプリケーションサーバのダウンを監視し、ダウンを検知した場合に自動的にコネクションの回収を行います。

この機能により、アプリケーションサーバ側で仕掛中のトランザクションを別のアプリケーションサーバで再実行した場合に、コネクションの回収待ちが発生しません。