问题描述
|
我有一个Tapestry应用程序(WAR,没有EJB),它...
...我想在2个EC2小型实例上部署(用于故障转移)。
...使用Spring Security
...是有状态的(非常小的会话状态)
...应该部署在Glassfish 3.1上(似乎具有最佳的群集支持?)
...,并且前面有一个带有粘性会话的弹性负载均衡器
在A)节点故障和B)部署新版本的情况下,如何配置群集以使用户体验的中断减至最少(“否”)?
解决方法
此处介绍了所有内容:http://download.oracle.com/docs/cd/E18930_01/html/821-2426/docinfo.html#scrolltoc
基本上,您设置了一个DAS(= master),它控制带有实例的节点。您可以在同一台机器(1个DAS,1个具有多个实例的节点)上完成所有这些操作,尽管最好至少拥有2个。
然后,您应该至少有一个负载平衡器(apache,物理负载平衡器,无论如何)。
A)如果一个节点发生故障,负载均衡器可以将所有流量重定向到另一个节点
B)
部署具有新版本的禁用应用程序(请参见\“应用程序版本控制\”)
将服务器A标记为不可用
在服务器A上启用新版本
将服务器A标记为可用,将服务器B标记为不可用
在服务器B上启用新版本
将服务器B标记为可用