您可以使用負載平衡,來改良效能並增加系統的可用性。負載平衡會將作業分散到所有可用的處理器,並加強處理容量與可調整性。您可以使用 Apache HTTP Server 來配置 IBM® Rational® DOORS® Web Access 的負載平衡。
關於這項作業
在本程序中,您將執行下列步驟:
- 準備 SSL 金鑰儲存庫。
- 將 Rational DOORS Web Access 伺服器 1 配置成負載平衡伺服器。
- 將 Rational DOORS Web Access 伺服器 2 到 n 配置成負載平衡伺服器。
- 修改 httpd.conf 和 httpd-ssl.conf 檔。
- 啟動 Apache HTTP Server。
- 啟動 Rational DOORS Web Access 元件。
- 啟動 Rational DOORS Web Access 伺服器 1。
- 啟動 Rational DOORS Web Access 伺服器 2 到 n。
基於本程序的目的,會假設 Apache HTTP Server 是配置成揭露埠 8443 以公開存取。所有要求會重新導向至內部伺服器;例
例如,埠 7443 上的 private_host_1,或 6443 上的 private_host_2。視您的環境而定,為了避免埠衝突,配置給 Apache Tomcat 使用的埠可能設為不同值。
程序
- 將有效的 SSL 憑證金鑰檔放在您系統上的可存取位置。
- 將 Rational DOORS Web Access 伺服器 1 到 n 配置成負載平衡伺服器:
- 開啟 festival.xml 檔,它位於 /server/festival/config/ 目錄。使用下列格式將 instanceId 參數設為唯一值:
48819f14-cecd-49d2-a91a-20e646b83f71
- 將該值複製到叢集中每一部伺服器上並且增量;例如:
在伺服器 2 上,使用 48819f14-cecd-49d2-a91a-20e646b83f72
在伺服器 3 上,使用 48819f14-cecd-49d2-a91a-20e646b83f73
- 開啟 server.xml 檔,它位於 server/conf 目錄。將檔案中的所有埠設定變更為唯一值,讓叢集中的每一部伺服器上都有唯一的一組值。修改下列值:
Server port="8005"
Connector port="8080"
redirectPort="8443"
port="8443"
Connector port="8009"
- 在 server.xml 檔中,新增 jvmRoute 至 engine 元素。變更下列項目:
<Engine name="Catalina" defaultHost="localhost">
為:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="DWAbalance1">
其中 jvmRoute 值在每一個 Rational DOORS Web Access 伺服器實例中都是唯一的。
那些值對應至 Apache Web Server 中的各項遞送指派,如3.c所示。負載平衡伺服器使用遞送指派來支援黏性階段作業,亦即,在單一階段作業期間,會將使用者要求引導至相同的伺服器。
- 針對 Rational DOORS Web Access 伺服器重複上一步。為每一部伺服器增量 jvmRoute 值;
例如:DWAbalance3、DWAbalance4、DWAbalance5。
- 編輯位於 Apache 安裝架構 conf 目錄中的 httpd.conf 檔,以便將 Apache HTTP Server 配置成處理 SSL 要求。
- 解除註解下列模組:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_ajp_module
modules/mod_proxy_ajp.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule status_module
modules/mod_status.so
- LoadModule ssl_module modules/mod_ssl.so
- 移至開頭是 #Secure (SSL/TLS) connections 的 SSL 配置區段。
- 新增下列項目,並確定已針對叢集中的每一部伺服器,新增唯一的 ProxyPassReverse 和 BalancerMember 項目。
#
# reverse proxy
#
SSLProxyEngine On
ProxyPreserveHost On
ProxyPass /balancer-manager !
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
ProxyPassReverse / https://private_host_1:7443/
ProxyPassReverse / https://private_host_n:6443/
<Proxy balancer://mycluster>
BalancerMember https://private_host_1:7443 route=DWAbalance1 loadfactor=50
BalancerMember https://private_host_n:6443 route=DWAbalance2 loadfactor=50
# Add an entry for each BalancerMember in your cluster.
</Proxy>
將 private_host_1 到 private_host_n 變更為每一部伺服器的完整主機名稱;
例如 server1.example.com。針對負載平衡叢集中的每一部主機,新增 BalancerMember 項目。請務必使用配置給每一部伺服器上之 Apache Tomcat 的埠號。
- 解除註解下列這一行:
Include conf/extra/httpd-ssl.conf
如需配置 Apache HTTP Server 使用負載平衡的相關資訊,請參閱 Apache Software Foundation 說明文件中的 Apache Module mod_proxy_balancer。
- 選擇性的: 如果要檢視負載平衡器的狀態,請將下列項目新增至 httpd.conf 檔:
ProxyPass /balancer-manager !
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Allow from your host.domain or another host
Deny from all
</Location>
如需存取控制的相關資訊,請參閱 Apache Software Foundation 說明文件中的 Access Control。
- 編輯 httpd-ssl.conf 檔,它位於 Apache 安裝架構中的 /conf/extra 目錄。
- 更新配置了 SSL 的主機名稱和埠。
- 視需要更新設定,包括下列設定:
- SSLCertificateFile
- SSLCertificateKeyFile
註: 如果 SSLCertificateKeyFile 金鑰檔受密碼保護,每當伺服器啟動時,必須輸入密碼。您可以移除密碼,但在這樣做之前,請先考量這個動作對您環境所帶來的安全隱憂。
如需編輯 HTTP SSL 檔的相關資訊,請參閱 Apache Software Foundation 說明文件中的 Apache Core Features 和 Apache Module mod_ssl。
- 啟動 Apache HTTP Server。任何錯誤都會寫入到 error.log 檔,這個檔案位於 Apache 安裝架構中的 /logs 資料夾。
- 啟動這兩部伺服器上的 Rational DOORS Web Access 元件。
- 啟動 Rational DOORS Web Access 伺服器 1 到 n。