TongWeb集群部署方案
TongWeb集群是由多个同时运行的JavaEE应用服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务。而负载均衡器的任务就是负责多个服务器之间实现合理的请求分配,使这些服务器不会出现因某一台超负荷、而其他的服务器却没有充分发挥处理能力的情况,即便其中一台服务器宕机,其它服务器就会继续接管请求进行处理。
在JavaEE应用的集群模式下有session亲和、session复制两个概念需要解释下:
session 亲和(session保持)是指在集群环境下,同一IE 客户端的请求会被始终分发到同一个TongWeb 节点上,这是集群配置时负载软件必须实现的。通常保证session亲和的有以下几种方式:
方式1:基于客户端IP的session亲和。
方式2:基于cookie的session亲和。
方式3:基于session id的session亲和。
session 复制(session共享)是指TongWeb 之间session 信息可以实现共享。TongWeb 集群可以只配session 亲和,不配session 复制,这样只会造成客户端请求跳转到另一个TongWeb 节点上时session 信息丢失。也可以配session 亲和的同时,也配置session 复制,这样客户端请求跳转到另一个TongWeb 节点上时session 信息不丢失,但同时需要维护会话服务器。目前应用常以单点登录(SSO)作为解决方案。
部署架构图如下:
- 负载均衡器部署在前端,客户端访问的是负载均衡器地址,负载均衡器作为单点需要HA主备。
- 软件负载均衡器将客户端请求按一定规则分发到后台TongWeb各个节点上。
- 软件负载均衡器可以单独安装在一台服务器上,也可以跟TongWeb安装在同一台服务器上。
- 追求高并发量的情况下采用硬负载,并发量不高的情况下采用软负载。
- 采用TongDataGrid集群做为session的存储库,当其中一个TongWeb节点宕机时,其它TongWeb节点可以从TongDataGrid中恢复session数据,从而保证session不丢失。
- TongDataGrid的session复制不是必配项,若应用有单点登录(SSO)功能,则完全可以不配session复制功能,SSO为最佳选择。
- 集群中负载、TongWeb、TongDataGrid可以任意增加节点,无启动顺序要求。
具体可参考《TongWeb企业版用户手册.pdf》