您可以通过使用负载均衡来提高性能和系统可用性。负载均衡将在所有可用处理器之间分配任务,并增强处理能力和可伸缩性。可以通过使用 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 服务器中的路由任务,如3.c中所示。负载均衡服务器使用这些路由任务来支持粘性会话,这些会话会在单个会话期间将用户请求定向至同一服务器。
- 对每个 Rational DOORS Web Access 服务器都重复上一个步骤。递增各服务器的 jvmRoute 值;例如:DWAbalance3、DWAbalance4 和 DWAbalance5。
- 通过编辑 httpd.conf 文件(位于 Apache 安装版中的 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
- 转至 SSL 配置部分,该部分以 #Secure (SSL/TLS) connections 开头。
- 添加以下条目,同时确保为集群中的每个服务器都添加唯一的 ProxyPassReverse 和 BalancerMember 条目。
#
# 逆向代理
#
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
# 为集群中的每个 BalancerMember 都添加一个条目。
</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 密钥文件受密码保护,那么每次服务器启动时都必须输入此密码。您可以移除此密码,但请在进行移除之前,考虑此操作对环境安全性的影响。
有关如何编辑 HHTP 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。