Sun Java System Directory Server Enterprise Edition 6.3 管理指南

配置目錄代理伺服器分佈演算法

目錄代理伺服器提供下列分佈演算法:

配置模式對應分佈演算法

目錄代理伺服器會根據請求的參數與一或多個模式之間的對應,將請求分佈至資料檢視。設定下列參數可配置模式對應分佈演算法:

結尾是 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 表示法,其中 2a 是兩個十六進制數字。(uid=\2a) 表示式會確定資料檢視接受所有 uid 的請求。

模式對應演算法支援的語法由 Java Pattern 類別所指定 (請參閱 http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html)。此語法與常用之 regex 語法不同。

配置數值分佈演算法

目錄代理伺服器會根據請求中 RDN 的數值,將請求分佈至資料檢視。此數值擷取自資料檢視的基底 DN 下之第一個 RDN 的值。設定下列參數可定義數值界限:

例如,配置數值分佈演算法,將 uid 介於 0 與 99 之間的請求傳送至特定的資料檢視。為其餘的使用者使用相同語法,但利用不同的資料檢視。


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

配置字母分佈演算法

目錄代理伺服器會根據請求中 RDN 的字母值,將請求分佈至資料檢視。字母界限擷取自資料檢視的基底 DN 下之第一個 RDN 的值。設定下列參數可定義字母界限:

例如,配置字母分佈演算法,將名稱開頭介於 AM 之間的使用者請求,傳送至一個資料檢視,並將其餘使用者的請求傳送至另一個資料檢視。


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

配置複寫分佈演算法

目錄代理伺服器會根據複寫中資料檢視的角色,將請求分佈至資料檢視。演算法會將寫入作業分佈至資料來源池中的所有資料來源,並將讀取作業分佈至單一資料來源。複寫角色由 replication-role 參數所定義。資料檢視可有主機角色或用戶角色。


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

配置自訂分佈演算法

您可以為所有的資料檢視類型配置自訂分佈演算法,包含 ldap-data-viewjdbc-data-viewldif-data-viewjoin-data-view 等資料檢視類型。在下列程序中,僅會設定 ldap-data-view 的演算法。

Procedure配置自訂分佈演算法

  1. extension-jar-file-url 特性設定為包含內有分佈演算法類別之 Java 歸檔 (JAR) 檔案的路徑。


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

    jar file path 會被有效的 JAR 檔案路徑取代,例如 file:/expt/dps/custom_plugin/myjar.jar

  2. 在配置 custom-distribution-algorithm 之前,請將 distribution-algorithm 設定為 none


    $ 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