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

第 22 章 目錄代理伺服器負載平衡與用戶端相似性

如需負載平衡與用戶端相似性的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的第 25 章「Directory Proxy Server Load Balancing and Client Affinity」。本章包含下列主題:

配置負載平衡

如需有關負載平衡的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Load Balancing」。本節說明如何配置負載平衡並提供配置範例。

Procedure選取負載平衡演算法

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 透過檢視 LDAP 資料來源池的特性取得目前的負載平衡演算法。


    $ dpconf get-ldap-data-source-pool-prop -h host -p port pool-name
    

    LDAP 資料來源池的預設特性如下:


    client-affinity-policy    :  write-affinity-after-write
    client-affinity-timeout   :  20s
    description               :  -
    enable-client-affinity    :  false
    load-balancing-algorithm  :  proportional

    依預設,負載平衡演算法為比例

  2. 配置 LDAP 資料來源池使用演算法。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:selected-algorithm
    

    其中 selected-algorithm 是下列其中之一:

    • 容錯移轉

    • 操作相似性

    • 比例

    • 飽和

    如需有關演算法的詳細資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Introduction to Load Balancing」

  3. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

Procedure配置負載平衡加權

您必須依據資料來源池中所有其他附加資料來源的加權,來配置附加資料來源的加權。請考量所有附加資料來源的加權。如果資料來源針對某種作業類型的加權為已停用,該類型的請求將永遠不會傳送至該資料來源。如果資料來源加權為 0 (零),除非所有其他資料來源皆不可用,否則不會將請求分佈至該資料來源。因此,僅在所有其他資料來源皆無法使用時,才使用以加權 0 配置的資料來源。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

  1. 檢視附加至資料來源池的資料來源清單。


    $ dpconf list-attached-ldap-data-sources -h host -p port pool-name
    
  2. 檢視其中一個附加資料來源的特性。


    $ dpconf get-attached-ldap-data-source-prop pool-name \
     attached-data-source-name
    

    附加資料來源的特性定義各種作業類型的加權。附加資料來源的預設加權如下:


    add-weight        :  disabled  
    bind-weight       :  disabled  
    compare-weight    :  disabled  
    delete-weight     :  disabled  
    modify-dn-weight  :  disabled  
    modify-weight     :  disabled  
    search-weight     :  disabled 
  3. 配置其中一個附加資料來源的加權。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name \
     attached-data-source-name add-weight:value \
     bind-weight:value compare-weight:value delete-weight:value \
     modify-dn-weight:value modify-weight:value search-weight:value
    
  4. 針對其他附加資料來源重複步驟 2步驟 3

  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    

    例如,資料來源池可以包含加權如下的資料來源:


    $ dpconf list-attached-ldap-data-sources -h host1 -p 1389 -v myPool
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    ---- ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    DS-1 disabled   3		       disabled       disabled      disabled         disabled      disabled
    DS-2 2          2           2              2             2                2             2
    DS-3 1          1           1              1             1                1             1

負載平衡的配置範例

本節包含配置每個負載平衡演算法的範例程序。

Procedure配置比例演算法以進行負載平衡

如需比例演算法的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Proportional Algorithm for Load Balancing」

在此範例中,資料來源 ds–1 配置為其他兩個資料來源加權的兩倍。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池

  1. 將資料來源池配置為使用比例演算法進行負載平衡。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
      load-balancing-algorithm:proportional
  2. 配置第一個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  3. 配置第二個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 配置第三個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    ---  ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    ds-1 2          2           2              2             2                2             2
    ds-2 1          1           1              1             1                1             1
    ds-3 1          1           1              1             1                1             1
  6. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

Procedure配置飽和演算法以進行負載平衡

如需飽和演算法的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Saturation Algorithm for Load Balancing」

在此範例中,資料來源 ds-1 執行大部分連結作業,但不執行任何其他類型的作業。以下列加權配置三個資料來源:

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池

  1. 將資料來源池配置為使用飽和演算法進行負載平衡。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:saturation
  2. 配置第一個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:disabled bind-weight:3 compare-weight:disabled delete-weight:disabled \
     modify-dn-weight:disabled modify-weight:disabled search-weight:disabled
  3. 配置第二個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  4. 配置第三個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    ---  ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    ds-1 disabled   3		       disabled       disabled      disabled         disabled      disabled
    ds-2 2          2           2              2             2                2             2
    ds-3 1          1           1              1             1                1             1
  6. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

Procedure配置操作相似性演算法以進行全域帳號封鎖

如需此演算法的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Operational Affinity Algorithm for Global Account Lockout」

此範例有三個資料來源。將資料來源 ds-1 配置為接收所有連結請求。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池

  1. 將資料來源池配置為使用操作相似性演算法。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
  2. 配置第一個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:100 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  3. 配置第二個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 配置第三個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    --   ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    ds-1 1          1           1              1             1                1             1
    ds-2 1          100         1              1             1                1             1
    ds-3 1          1           1              1             1                1             1
  6. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

Procedure配置操作相似性演算法以進行快取最佳化

如需此演算法的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Operational Affinity Algorithm for Cache Optimization」

此範例有三個資料來源。資料來源 ds-1 處理所有搜尋和比較作業。當 ds-1 回應請求時,目標項目會儲存在快取中。如果 ds-1 重複回應相同的請求,資料來源會使用快取的資料。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池

  1. 將資料來源池配置為使用操作相似性演算法。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:operational-affinity
  2. 配置第一個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:1 bind-weight:1 compare-weight:100 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:100
  3. 配置第二個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  4. 配置第三個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    ---  ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    ds-1 1          1           100            1             1                1             100
    ds-2 1          1           1              1             1                1             1
    ds-3 1          1           1              1             1                1             1
  6. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

Procedure配置容錯移轉演算法以進行負載平衡

如需容錯移轉演算法的說明,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Failover Algorithm for Load Balancing」

此範例有三個資料來源。資料來源 ds-1 接收所有請求。如果 ds-1 失敗,ds-2 會接收所有請求直到 ds-1 回復為止。如果 ds-2ds-1 回復之前失敗,ds-3 會接收所有請求。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源與資料來源池的資訊,請參閱第 20 章, LDAP 資料來源與資料來源池

  1. 將資料來源池配置為使用容錯移轉演算法進行負載平衡。


    $ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \
     load-balancing-algorithm:failover
  2. 配置第一個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-1 \
     add-weight:3 bind-weight:3 compare-weight:3 delete-weight:3 modify-dn-weight:3 \
     modify-weight:3 search-weight:3
  3. 配置第二個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-2 \
     add-weight:2 bind-weight:2 compare-weight:2 delete-weight:2 modify-dn-weight:2 \
     modify-weight:2 search-weight:2
  4. 配置第三個資料來源的特性。


    $ dpconf set-attached-ldap-data-source-prop -h host -p port pool-name ds-3 \
     add-weight:1 bind-weight:1 compare-weight:1 delete-weight:1 modify-dn-weight:1 \
     modify-weight:1 search-weight:1
  5. 比較附加資料來源的主要參數。


    $ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name
    Name add-weight bind-weight compare-weight delete-weight modify-dn-weight modify-weight search-weight
    ---  ---------- ----------- -------------- ------------- ---------------- ------------- -------------
    ds-1 3          3           3              3             3                3             3
    ds-2 2          2           2              2             2                2             2
    ds-3 1          1           1              1             1                1             1
  6. 重新啟動目錄代理伺服器實例。


    $ dpadm restart instance-path
    

配置用戶端相似性

用戶端相似性可降低負載平衡部署中的傳播延遲風險。如需有關用戶端相似性的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.0 Reference」中的「Client Affinity」。本節說明如何配置用戶端連線與資料來源之間的相似性,並提供配置範例。

Procedure配置用戶端相似性

本程序說明如何配置用戶端連線與資料來源之間的相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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-policyclient-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]

    逾時的預設單位為毫秒。

用戶端相似性的配置範例

本節包含與用戶端相似性相關的配置範例,並包含複寫延遲、驗證寫入作業以及基於連線的路由之範例。

Procedure配置當資料來源池包含主機與用戶時,複寫延遲的用戶端相似性

本程序配置在第一個寫入作業之後三秒內發生的所有讀取與寫入作業的用戶端相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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

Procedure將用戶端相似性配置為利用讀取作業驗證每個寫入作業

本程序配置每個寫入作業之後第一個讀取作業的用戶端相似性。此範例可用於由其中指定的連結 DN 透過執行讀取作業驗證每個寫入作業之應用程式。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 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

Procedure配置基於連線之路由的用戶端相似性

在 Directory Proxy Server 6.0 之前的版本中,已開啟用戶端與 LDAP 伺服器之間的連線。來自用戶端的所有請求會使用相同的連線,直到連線關閉為止。此路由類型稱為基於連線的路由。本程序說明如何配置基於連線的路由之用戶端相似性。

您可以使用 DSCC 執行此作業。如需有關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。

開始之前

確保所有資料來源已附加至資料來源池,且 clientCredentialsForwarding 已設為 useBind

    配置資料來源池的相似性參數。


    $ 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