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

Directory Proxy Server の配布アルゴリズムの設定

Directory Proxy Server には、次の配布アルゴリズムが用意されています。

パターンマッチング配布アルゴリズムの設定

Directory Proxy Server では、要求のパラメータと 1 つ以上のパターンの間の一致に基づいて、要求をデータビューに配布します。次のパラメータを設定して、パターンマッチング配布アルゴリズムの設定を行います。

filter で終わる設定属性は LDAP フィルタであり、正規表現ではありません。これらの LDAP フィルタは、受信検索要求に含まれる LDAP フィルタに対して評価されます。

たとえば、偶数の uid を持つユーザーの要求を even データビューに、奇数の uid を持つユーザーの要求を odd データビューに送信するようにパターンマッチング配布アルゴリズムを設定するときは、次の設定を使用します。


$ dpconf set-ldap-data-view-prop even
pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\
(uid=*4)(uid=*6)(uid=*8))'\
pattern-matching-dn-regular-expression:'uid=[0-9]+[02468]'
distribution-algorithm: pattern-matching 

$ dpconf set-ldap-data-view-prop odd
pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\
(uid=*5)(uid=*7)(uid=*9))'\
pattern-matching-dn-regular-expression:'uid=[0-9]+[13579]'
distribution-algorithm: pattern-matching 

(uid=\2a) の式で、\2a* の ASCII 表現であり、2 および a は 2 つの 16 進数字です。(uid=\2a) の式により、データビューがすべての uid の要求を確実に受け入れるようになります。

パターンマッチングアルゴリズムでサポートされる構文は、Java パターンクラス (http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html で説明されています) によって指定されます。この構文は、通常の regex 構文と同じではありません。

数値配布アルゴリズムの設定

Directory Proxy Server では、要求内の RDN の数値に応じて、要求をデータビューに配布します。この数値は、データビューのベース DN の下にある最初の RDN の値から取られます。次のパラメータを設定して、数値の範囲を定義します。

たとえば、0 から 99 の間の uid の要求を特定のデータビューに送信する数値配布アルゴリズムを設定できます。残りのユーザーでも同じ構文を使用しますが、データビューは異なります。


$ dpconf set-ldap-data-view-prop dataview distribution-algorithm:numeric \
 numeric-attrs:uid numeric-lower-bound:0 numeric-upper-bound:99

辞書式配布アルゴリズムの設定

Directory Proxy Server では、要求内の RDN の辞書式の値に応じて、要求をデータビューに配布します。辞書式の範囲は、データビューのベース DN の下にある最初の RDN の値から取られます。次のパラメータを設定して、辞書式の範囲を定義します。

たとえば、名前が A から M の間で始まるユーザーの要求をあるデータビューに送信し、残りのユーザの要求を別のデータビューに送信する辞書式配布アルゴリズムを設定できます。


$ dpconf set-ldap-data-view-prop dataview distribution-algorithm:lexicographic \
 lexicographic-attrs:cn lexicographic-lower-bound:A lexicographic-upper-bound:M

レプリケーション配布アルゴリズムの設定

Directory Proxy Server では、レプリケーションにおけるデータビューのロールに応じて、要求をデータビューに配布します。このアルゴリズムでは、書き込み操作はデータソースプール内のすべてのデータソースに配布され、読み取り操作は 1 つのデータソースに配布されます。レプリケーションロールは、replication-role パラメータによって定義されます。データビューには、マスターロールまたはコンシューマロールを設定できます。


$ dpconf set-ldap-data-view-prop dataview distribution-algorithm:replication

カスタム配布アルゴリズムの設定

全種類のデータビュー (ldap-data-viewjdbc-data-viewldif-data-view、および join-data-view) でカスタム配布アルゴリズムを設定できます。次の手順では、このアルゴリズムを ldap-data-view だけで設定します。

Procedureカスタム配布アルゴリズムを設定する

  1. 配布アルゴリズムクラスが格納された Java Archive (JAR) ファイルのパスが含まれるように extension-jar-file-url プロパティーを設定します。


    $ dpconf set-server-prop -h host -p port extension-jar-file-url:jar file path
    

    jar file path を、file:/expt/dps/custom_plugin/myjar.jar のような有効な JAR ファイルパスに置き換えることができます。

  2. custom-distribution-algorithm を設定する前に、distribution-algorithmnone に設定します。


    $ dpconf set-ldap-data-view-prop view name distribution-algorithm:none
  3. custom-distribution-algorithm プロパティーをカスタム配布アルゴリズムクラスに設定します。


    $ dpconf set-ldap-data-view-prop view name custom-distribution-algorithm:PackageName.AlgoClassName