クライアントアフィニティーにより、負荷分散された配備での伝播遅延のリスクが削減されます。クライアントアフィニティーについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』の「Client Affinity」を参照してください。この節では、クライアント接続とデータソース間のアフィニティーを設定する方法を説明し、設定例を示します。
この手順では、クライアント接続とデータソース間のアフィニティーを設定する方法について説明します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
データソースプールのプロパティーを表示することで、現在の負荷分散アルゴリズムを表示します。
$ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name |
データソースプールのデフォルトプロパティーは、次のとおりです。
client-affinity-policy : write-affinity-after-write client-affinity-timeout : 20s description : - enable-client-affinity : false load-balancing-algorithm : proportional |
次のパラメータは、クライアントアフィニティーを設定します。client-affinity-policy 、client-affinity-timeout、enable-client-affinity 。プロパティーの詳細とそれらの有効な値のリストについては、次のように入力します。
dpconf help-properties ldap-data-source-pool client-affinity-policy \ client-affinity-timeout enable-client-affinity |
プロパティーの詳細は、次のマニュアルページを参照してください。client-affinity-policy(5dpconf)、client-affinity-timeout(5dpconf)、および enable-client-affinity(5dpconf)。
クライアントアフィニティーを有効にします。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ enable-client-affinity:true |
クライアントアフィニティーに対するポリシーを選択します。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:selected-policy |
ここで、selected-policy は次のいずれかです。
最初の書き込み要求のあとの書き込み要求に対するアフィニティー
最初の書き込み要求のあとのすべての要求に対するアフィニティー
最初の読み取り要求または書き込み要求のあとのすべての要求に対するアフィニティー
書き込み要求のあとの最初の読み取り要求に対するアフィニティー
クライアントアフィニティーの期間を設定します。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-timeout:time-out[unit] |
タイムアウトのデフォルトの unit はミリ秒です。
この節では、クライアントアフィニティーに関連する設定の例を示し、レプリケーションの遅延、書き込み操作の検証、接続ベースのルーティングの例を示します。
この手順では、最初の書き込み操作後、3 秒までの間に行われるすべての読み取り操作と書き込み操作に対するクライアントアフィニティーを設定します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
データソースプールのアフィニティーパラメータを設定します。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:read-write-affinity-after-write client-affinity-timeout:3000 \ enable-client-affinity:true |
この手順では、それぞれの書き込み操作のあとの最初の読み取り操作に対するクライアントアフィニティーを設定します。例は、読み取り操作を行うことで指定した DN がそれぞれの書き込み操作の妥当性検査を行うアプリケーションの場合もあります。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
データソースプールのアフィニティーパラメータを設定します。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ client-affinity-policy:read-affinity-after-write enable-client-affinity:true |
Directory Proxy Server 6.0 より前のバージョンでは、クライアントと LDAP サーバー間で確立される接続数は 1 つです。この接続が閉じられるまで、クライアントからのすべての要求に使用されました。このタイプのルーティングを、connection-based routing といいます。この手順では、接続ベースのルーティングに対してクライアントアフィニティーを設定する方法について説明します。
このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。
すべてのデータソースがデータソースプールに接続されていて、client-cred-mode が use-client-identity に設定されていることを確認します。