如需有關負載平衡的資訊,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference 」中的「Load Balancing」。本節說明如何配置負載平衡並提供配置範例。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
透過檢視 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 |
依預設,負載平衡演算法為比例。
配置 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.3 Reference」中的「Introduction to Load Balancing」。
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
您需要根據資料來源池中任何其他附加資料來源的加權,來配置某個附加資料來源的加權。請考量所有附加資料來源的加權。如果資料來源針對某種作業類型的加權為已停用,則該類型的請求將永遠不會傳送至該資料來源。如果資料來源的加權值為 0 (零),則不會將請求分佈到該資料來源。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
檢視附加至資料來源池的資料來源清單。
$ dpconf list-attached-ldap-data-sources -h host -p port pool-name |
檢視其中一個附加資料來源的特性。
$ 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 |
配置其中一個附加資料來源的加權。
$ 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 |
比較附加資料來源的主要參數。
$ 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 SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- DS-1 disabled 3 disabled disabled DS-2 2 2 2 2 DS-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- disabled disabled disabled 2 2 2 1 1 1 |
如需有關比例演算法的描述,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference」中的「Proportional Algorithm for Load Balancing」。
在此範例中,資料來源 ds–1 配置為其他兩個資料來源加權的兩倍。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源及資料來源池的資訊,請參閱建立 LDAP 資料檢視。
將資料來源池配置為使用比例演算法進行負載平衡。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:proportional |
配置第一個資料來源的特性。
$ 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 |
配置第二個資料來源的特性。
$ 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 |
配置第三個資料來源的特性。
$ 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 |
比較附加資料來源的主要參數。
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- ds-1 2 2 2 2 ds-2 1 1 1 1 ds-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- 2 2 2 1 1 1 1 1 1 |
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
如需有關飽和演算法的描述,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference」中的「Saturation Algorithm for Load Balancing」。
在此範例中,資料來源 ds-1 執行大部分連結作業,但不執行任何其他類型的作業。以下列加權配置三個資料來源:
ds-1 以加權 3 配置連結作業,停用所有其他類型的作業。
ds-2 以加權 2 配置所有作業。
ds-3 以加權 1 配置所有作業。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源及資料來源池的資訊,請參閱建立 LDAP 資料檢視。
將資料來源池配置為使用飽和演算法進行負載平衡。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:saturation |
配置第一個資料來源的特性。
$ 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 |
配置第二個資料來源的特性。
$ 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 |
配置第三個資料來源的特性。
$ 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 |
比較附加資料來源的主要參數。
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- ds-1 disabled 3 disabled disabled ds-2 2 2 2 2 ds-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- disabled disabled disabled 2 2 2 1 1 1 |
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
如需有關此演算法的描述,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference」中的「Operational Affinity Algorithm for Global Account Lockout」。
此範例有三個資料來源。將資料來源 ds-1 配置為接收所有連結請求。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源及資料來源池的資訊,請參閱建立 LDAP 資料檢視。
將資料來源池配置為使用操作相似性演算法。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:operational-affinity |
配置第一個資料來源的特性。
$ 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 |
配置第二個資料來源的特性。
$ 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 |
配置第三個資料來源的特性。
$ 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 |
比較附加資料來源的主要參數。
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- ds-1 1 100 1 1 ds-2 1 1 1 1 ds-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- 1 1 1 1 1 1 1 1 1 |
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
如需有關此演算法的描述,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference」中的「Operational Affinity Algorithm for Cache Optimization」。
此範例有三個資料來源。資料來源 ds-1 處理所有搜尋和比較作業。當 ds-1 回應請求時,目標項目會儲存在快取中。如果 ds-1 重複回應相同的請求,資料來源會使用快取的資料。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源及資料來源池的資訊,請參閱建立 LDAP 資料檢視。
將資料來源池配置為使用操作相似性演算法。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:operational-affinity |
配置第一個資料來源的特性。
$ 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 |
配置第二個資料來源的特性。
$ 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 |
配置第三個資料來源的特性。
$ 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 |
比較附加資料來源的主要參數。
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- ds-1 1 1 100 1 ds-2 1 1 1 1 ds-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- 1 1 100 1 1 1 1 1 1 |
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
如需有關容錯移轉演算法的描述,請參閱「Sun Java System Directory Server Enterprise Edition 6.3 Reference」中的「Failover Algorithm for Load Balancing」。
此範例有三個資料來源。資料來源 ds-1 接收所有請求。如果 ds-1 失敗,ds-2 會接收所有請求直到 ds-1 回復為止。如果 ds-2 在 ds-1 回復之前失敗,ds-3 會接收所有請求。
您可以使用 DSCC 執行此作業。如需相關資訊,請參閱目錄服務控制中心介面與 DSCC 線上說明。
確保資料來源池至少有三個附加資料來源。如需有關如何建立資料來源及資料來源池的資訊,請參閱建立 LDAP 資料檢視。
將資料來源池配置為使用容錯移轉演算法進行負載平衡。
$ dpconf set-ldap-data-source-pool-prop -h host -p port pool-name \ load-balancing-algorithm:failover |
配置第一個資料來源的特性。
$ 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 |
配置第二個資料來源的特性。
$ 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 |
配置第三個資料來源的特性。
$ 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 |
比較附加資料來源的主要參數。
$ dpconf list-attached-ldap-data-sources -h host -p port -v pool-name SRC_NAME add-weight bind-weight compare-weight delete-weight -------- ---------- ----------- -------------- ------------- ds-1 3 3 3 3 ds-2 2 2 2 2 ds-3 1 1 1 1 modify-dn-weight modify-weight search-weight ---------------- ------------- ------------- 3 3 3 2 2 2 1 1 1 |
重新啟動目錄代理伺服器實例。
$ dpadm restart instance-path |
簡單舉例來說,負載平衡就是將搜尋和比較作業傳送至一組目錄,並將其他作業傳送至另一組目錄。目錄代理伺服器會接收所有用戶端作業。伺服器必須決定哪一組取得讀取,而哪一組取得其他作業。
以下是配置目錄代理伺服器處理此負載平衡方案中的重要階段。
增加目錄做為目錄代理伺服器的資料來源。
將資料來源增加至資料來源池。
配置某些資料來源接受搜尋和比較作業,而其他資料來源則接受增加、連結、刪除、修改及修改 DN 作業。
將資料來源池增加至資料檢視。
下列範例會用到偵聽連接埠 9389 的目錄代理伺服器。在此會如下所述配置代理伺服器以平衡負載。一個目錄伺服器實例 ds1:1389處理搜尋和比較作業,而另一個目錄伺服器實例 ds2:2389 則處理其他作業。
第一步是建立並啟用資料來源。此步驟需要重新啟動代理伺服器。
$ dpconf create-ldap-data-source -p 9389 ds1 localhost:1389 $ dpconf create-ldap-data-source -p 9389 ds2 localhost:2389 $ dpconf set-ldap-data-source-prop -p 9389 ds1 is-enabled:true $ dpconf set-ldap-data-source-prop -p 9389 ds2 is-enabled:true $ dpadm restart /local/dps |
第二步是將資料來源增加至資料來源池。
$ dpconf create-ldap-data-source-pool -p 9389 "Directory Pool" $ dpconf attach-ldap-data-source -p 9389 "Directory Pool" ds1 ds2 |
第三步是配置 ds1 接受搜尋和比較作業,而 ds2 接受其他作業。
$ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds1 \ add-weight:disabled bind-weight:disabled compare-weight:1 delete-weight:disabled \ modify-dn-weight:disabled modify-weight:disabled search-weight:1 $ dpconf set-attached-ldap-data-source-prop -p 9389 "Directory Pool" ds2 \ add-weight:1 bind-weight:1 compare-weight:disabled delete-weight:1 \ modify-dn-weight:1 modify-weight:1 search-weight:disabled |
第四步是將資料來源池增加至資料檢視,如此一來,用戶端應用程式的請求便會路由至該池。
$ dpconf create-ldap-data-view -p 9389 "Balanced View" "Directory Pool" \ dc=example,dc=com |