作为此示例的一部分,将设置一个具有一个负载平衡器、一个管理服务器和四个 Web 服务器实例(启用了会话复制)的群集。会话复制为 Java Web 应用程序会话提供高可用性。它通过将驻留在一个 Web 服务器实例的内存中的会话复制多份到另一个 Web 服务器实例来实现这一目的。因此在正常操作条件下,每个会话至少存在 2 份副本,每一份驻留在独立的 JVM 中,最好位于独立的计算机中。
下图描述了简单的群集:
标识以下计算机:
MachineA-具有负载平衡器和管理服务器。
MachineB、MachineC、MachineD 和 MachineE-具有管理节点且正在运行 Web 服务器实例。
在 MachineA 中安装 Administration Server。
有关安装管理服务器的信息,请参见设置服务器群。典型的安装过程还将安装 Web 服务器实例。对于此方案,将不使用该实例。
在 MachineB、MachineC、MachineD 和 MachineE 中安装管理节点。
在所有 4 台计算机中安装管理节点。在管理服务器中注册这些管理节点。
配置 Web 应用程序。
对 Web 应用程序启用会话复制。按如下所示修改 WEb-INF/sun-web.xml 文件:
<session-manager persistence-type="replicated"/> |
配置相应的实例。
启动 wadm。
wadm --host MachineA --port 8089 |
为负载平衡器创建新的配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster lb |
设置反向代理(负载平衡器)。
wadm> create-reverse-proxy --config=lb --vs=lb -uri-prefix=/ --server="http://MachineB:8080,http://MachineC:8080, ttp://MachineD:8080,http://MachineE:8080" |
创建实例。
wadm> create-instance --config=lb MachineA |
部署配置。
wadm> deploy-config lb wadm> start-instance --config=lb |
创建并启动群集。
创建具有四个实例的新配置。
为群集创建新配置。
wadm> create-config --http-port=8080 --server-name=SampleCluster clusterOf4 |
启用会话复制。
wadm> set-session-replication-prop --config=clusterOf4 enabled=true |
添加 Web 应用程序。
wadm> add-webapp --config=clusterOf4 --uri=/simple webapps-simple.war |
创建实例。
wadm> create-instance --config=clusterOf4 MachineB MachineC MachineD MachineE |
启动群集。
wadm> start-instance --config=clusterOf4 |
如果未对 start-instance 命令指定主机名,此操作将在部署了配置的所有节点中启动实例。