在一些操作系统或者硬件上面自身不会有负载均衡功能,我们通过软件的结合使用,让它具有这个功能。那么下面我们将讨论一下EOS通过WebLogioc实现负载均衡功能的步骤,让我们一起来看看文章的具体内容吧。
1、概述
EOS本身不提供负载均衡、流量控制、过负载控制的处理,主要依赖于J2EE服务器和网络硬件设备来完成。本文根据普元公司的经验,主要论述对WebLogic Server负载均衡的考虑。
2、负载均衡
a)负载均衡方式
通过配置WebLogic Server集群(Cluster)可以实现负载均衡、失败转移功能。WebLogic Server可以对Web应用、EJB/RMI、JDBC连接、JMS进行集群处理,建议在Web应用层实现集群,JMS、EJB不进行集群处理,这样部署形式比较简单,易于管理,性能也比较高。JDBC连接的集群需要根据数据服务的要求,一般来说需要实现。Web层集群需要一台Http Serverl做代理,将负载分配到集群中所有的实例,实现负载均衡。可以使用专门的硬件,可以利用WebLogic Server完成,也可以使用Apache+WebLogic proxy,建议采用Apache+WebLogic proxy的方式,这样对硬件的要求比较小,情能相对会好一些。
为提高性能,也可以将一些静态的内容部署到Apache Server,主要是html和图片等
WebLogic集群需要一台Server作为Managel Server,建议这台Server不处理请求,专门做管理。
WebLogic集群中Server之间通过lScoket通讯,建议集群的所有Server位于同一网段中。
b)失败转移与Session复制
WebLogic Server通过 Session复制在失败转移的时候保存用户数据,默认支持3种复制方式,In Memory、Database、File,建议采用In Memory的方式。
c)负载均衡算法
WebLogic Server的负载均衡算法目前主要有:
Round-robin、Weight-base、Random、Parameter-based routing
Round-robin是默认算法,可以根据需要调整
3、EOS配置
为了让EOS实现负载均衡功能,基于EOS开发的产品需要以同样的方式部署到WebLogic集群的每个实例上,建议每个实例的环境配置,文件路径相同,以便于管理。
对开发资源进行热更新和部署的时候,需要通过EOS Console对每台实例进行部署。
EOS为提高性能,会对一些数据进行缓存。在Cluster环境下,需要在缓存更新的时候,通知其他Seever。因此需要在eosconfig.xml中添加配置,例如:
- <module name="cluster">
- <group name="config">
- <configValue key="nodeList">192.168.1.2;192.168.2.3</configValue>
- </group>
- </module></MODULE>
多台Server IP地址以分号分割,EOS Server根据这里的配置进行通知。