Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド

クライアントアフィニティーの設定

クライアントアフィニティーにより、負荷分散された配備での伝播遅延のリスクが削減されます。クライアントアフィニティーについては、『Sun Java System Directory Server Enterprise Edition 6.3 Reference』「Client Affinity」を参照してください。この節では、クライアント接続とデータソース間のアフィニティーを設定する方法を説明し、設定例を示します。

Procedureクライアントアフィニティーを設定する

この手順では、クライアント接続とデータソース間のアフィニティーを設定する方法について説明します。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. データソースプールのプロパティーを表示することで、現在の負荷分散アルゴリズムを表示します。


    $ 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-timeoutenable-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)

  2. クライアントアフィニティーを有効にします。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     enable-client-affinity:true
  3. クライアントアフィニティーに対するポリシーを選択します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-policy:selected-policy
    

    ここで、selected-policy は次のいずれかです。

    write-affinity-after-write

    最初の書き込み要求のあとの書き込み要求に対するアフィニティー

    read-write-affinity-after-write

    最初の書き込み要求のあとのすべての要求に対するアフィニティー

    read-write-affinity-after-any

    最初の読み取り要求または書き込み要求のあとのすべての要求に対するアフィニティー

    read-affinity-after-write

    書き込み要求のあとの最初の読み取り要求に対するアフィニティー

  4. クライアントアフィニティーの期間を設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-timeout:time-out[unit]

    タイムアウトのデフォルトの unit はミリ秒です。

クライアントアフィニティーの設定例

この節では、クライアントアフィニティーに関連する設定の例を示し、レプリケーションの遅延、書き込み操作の検証、接続ベースのルーティングの例を示します。

Procedureデータソースプールにマスターとコンシューマが含まれている場合に、レプリケーションの遅延に対するクライアントアフィニティーを設定する

この手順では、最初の書き込み操作後、3 秒までの間に行われるすべての読み取り操作と書き込み操作に対するクライアントアフィニティーを設定します。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. データソースプールのアフィニティーパラメータを設定します。


    $ 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

Procedure書き込み操作のそれぞれを読み取り操作で検証するようにクライアントアフィニティーを設定する

この手順では、それぞれの書き込み操作のあとの最初の読み取り操作に対するクライアントアフィニティーを設定します。例は、読み取り操作を行うことで指定した DN がそれぞれの書き込み操作の妥当性検査を行うアプリケーションの場合もあります。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

  1. データソースプールのアフィニティーパラメータを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-policy:read-affinity-after-write enable-client-affinity:true

Procedure接続ベースのルーティングに対するクライアントアフィニティーを設定する

Directory Proxy Server 6.0 より前のバージョンでは、クライアントと LDAP サーバー間で確立される接続数は 1 つです。この接続が閉じられるまで、クライアントからのすべての要求に使用されました。このタイプのルーティングを、connection-based routing といいます。この手順では、接続ベースのルーティングに対してクライアントアフィニティーを設定する方法について説明します。

このタスクは DSCC を使用して実行することができます。詳細については、「Directory Service Control Center のインタフェース」および DSCC オンラインヘルプを参照してください。

始める前に

すべてのデータソースがデータソースプールに接続されていて、client-cred-modeuse-client-identity に設定されていることを確認します。

  1. データソースプールのアフィニティーパラメータを設定します。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     client-affinity-policy:read-write-affinity-after-any enable-client-affinity:true