Sun Java System Communications Express 6.3 管理指南

支援 Address Book 伺服器的水平可伸縮性

在舊版 Sun Java Communications Express 中,特定網域的個人通訊錄項目儲存在單一 LDAP 位置,該位置以 db_config.properties 檔案中定義的 defaultserver 實例表示。db_config.properties 檔案位於網域的 personalstore.properties 檔案指向的目錄中。例如,uwc-install/ WEB-INF/config/ldappstore

此設定無法延展成在每個個人通訊錄中支援大量使用者與連絡人。為消除此限制,Communications Express 6.3 中的 psRoot 屬性可讓管理員佈建使用者,使得不同使用者的 PAB 資料可以分布在不同的 LDAP 位置上。

例如,ldap://mydir.com:389/piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb

圖 3–1 提供了用來水平伸縮 Address Book 伺服器的架構之高層次概觀。

下列為「通訊錄」水平可伸縮性架構的關鍵元件:

「個人存放區」維護使用者的通訊錄資訊。它包含使用者以通訊錄中所有項目建立的所有通訊錄定義。「個人存放區」會以 URL 顯示,描述它們所在的目錄實例,以及特殊目錄實例中的 DN。

圖 3–1 所示,DB (資料庫) 包含個人存放區的集合。通訊錄可存取任意數量的 DB。每個 DB 是由定義該 DB 連線參數的 DB-ID 定義。不同類型的 DB 會指向不同的 DB 位置。

DBMap 是相同類型 DB 的集合。每個 DBMap 有一個 ID,它會指引到該 DBMap 的配置資訊。

圖 3–1 通訊錄的水平可伸縮性

圖例顯示通訊錄的水平可伸縮性。

psRoot 是使用者的 LDAP 屬性,指定儲存使用者通訊錄項目的主機、目錄實例的連接埠和 DN。psRoot 的格式為:ldap://ldap_host:ldap_port/DN

psRoot 屬性的值決定 DB 的類型和位置。

在以下的 psRoot 範例中:ldap://mydir.com:389/piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb

ldap:// 表示使用 LDAP DB 外掛程式存取使用者的通訊錄個人存放區。

mydir.com:389 指定 LDAP 主機和連接埠。

piPStoreOwner=jsmith,o=siroe.com,o=PiServerDb 指定個人存放區的 DN。


備註 –

Address Book 伺服器未提供任何公用程式,以根據任何可伸縮性策略為使用者分配 psRoot 值。管理員需要設定最符合組織的特定策略,並使用自訂的程序檔為該策略設定 psRoot 值。


可使用網域特定的 personalstore.properties 檔案中的 db.UserPsRoot 參數開啟或關閉 psRoot 屬性。將參數設定為「false」,以使用 db_config.properties 檔案中的 defaultserver 參數。將參數設定為「true」,以使用使用者的 psRoot 值。必須為 psRoot 中使用的每個唯一目錄伺服器實例提供db_config.properties 檔案中配置通訊錄個人存放區參數列出的個人存放區參數。在執行階段中 psRoot 屬性值將被解析為使用 db-key.ldaphostdb-key.ldapport 的目錄實例,其中 db-key 是能夠區分不同實例的任意字串。如果無法找到與 db-key.ldaphostdb-key.ldapport 相符的實例,則將使用 defaultserver 實例。

支援水平可伸縮性所需的其他配置

使用者 LDAP 項目中的 psRoot 屬性是 Address Book 伺服器相容的 URL,定義儲存並擷取個人通訊錄項目的 LDAP 位置。psRoot 屬性可讓管理員佈建使用者,從而可以跨多目錄位置散佈所有使用者的 PAB 資料。

對於現有 Messenger Express 使用者,如果 PAB 遷移已啟用,將會使用現有 pabURI 屬性來建構 psRoot 屬性,且 uwc-deploy-dir/ WEB-INF/config/migrate.properties 中會定義對映表。

migrate.properties 檔案中的查詢表包括 pabhostpabport 項目,其格式如下:

pabhost.pabport.abhostport = abldaphost:abldapport

其中 pabhost.pabport 指來源目錄實例,abldaphostabldaport 指 PAB 資料應遷移到的目標目錄實例。

例如,如果您要將 PAB 資料從執行於 pab.example.com:389 的目錄遷移到執行於 abs.example.com:389 的通訊錄目錄,migrate.properties 中應有下列項目:

pab.example.com.389.abhostport = abs.example.com:389

您在 migrate.properties 檔案中可能會有所有必要的查詢。如果使用者的 pabURI 屬性使用 pabhostpabport,則使用預設 psRoot 模式建構的 psRoot 將以如下格式顯示:

ldap://abldaphost: abldapport/piPStoreOwner=%U,o=%D,o=PiServerDb

如果並未定義 pabURI 值的查詢,亦即對映表中未提供與 pabURI 相符的項目,則 pabhostpabport 值將用為 abldaphost abport 的預設值。這表示如果缺少對映表,Messaging Server 的 PAB 項目會根據通訊錄模式遷移到相同目錄實例中的另一個根目錄。在這個案例中,目標目錄實例將與來源目標實例相同。


備註 –

修補安裝程式並未定義查詢表。安裝修補程式之後,您需要定義查詢表,並重新啟動 Web Server。

確定該網域 personalstore.properties 指向的 db_config.properties 檔案中已定義 abldaphost: abldapport 目錄伺服器實例。


自動設定 psRoot

當新使用者登入時,會將使用者項目的 psRoot 屬性設定為預設值。

對於新使用者,psRoot 值是使用 personalstore.properties 檔案中定義的 psRoot 模式,以及 db_config.properties 檔案中的 defaultserverhost defaultserverPort 值所建構。例如,使用預設 psRoot 模式時,預設 psRoot 值的格式如下:

ldap://default-server-host :default-server-port/piPStoreOwner=%U,o=%D,o=PiServerDb

其中:

%U = 使用者的登入識別碼。例如,jsmith

%D = 使用者的網域。例如,siroe.com