Web Server集群方案1211.docx
《Web Server集群方案1211.docx》由会员分享,可在线阅读,更多相关《Web Server集群方案1211.docx(34页珍藏版)》请在冰点文库上搜索。
WebServer集群方案1211
兴业银行反洗钱监测数据报送系统
WeblogicServer集群方案
1概述
兴业银行反洗钱监测数据报送系统(以下简称“兴业反洗钱系统”或“本系统”)本身不提供负载均衡、流量控制、负载控制的处理,主要依赖于J2EE服务器和网络硬件设备来完成。
本文根据银丰公司的经验,主要论述对WebLogicServer集群方案的实现。
硬件的cluster和WebLogic的cluster不是一回事,硬件做的是冷备份,对用户的session,用户请求的负载均衡等的处理是做不到的,而且一般硬件的双机热备也不是时时的备份,而且间隔一段时间再将主机上的数据copy过来,而WebLogicServer的cluster就不是这样,其session的数据是时时的复制的,对不经常更改的jndi等的复制虽然也是定期完成的,但update的时间间隔很短
2集群总体架构
通过配置WebLogicServer集群(Cluster)可以实现负载均衡、失败转移功能。
WebLogicServer可以对Web应用、EJB/RMI、JDBC连接、JMS进行集群处理,建议在Web应用层实现集群,JMS、EJB不进行集群处理,这样部署形式比较简单,易于管理,性能也比较高。
JDBC连接的集群需要根据数据服务的要求,一般来说需要实现。
集群拓扑图:
Web层集群需要一台HttpServer做代理,将负载分配到集群中所有的实例,实现负载均衡。
可以使用专门的硬件,可以利用WebLogicServer完成,也可以使用Apache+WebLogicproxy,建议采用Apache+WebLogicproxy的方式,这样对硬件的要求比较小,情能相对会好一些。
为提高性能,也可以将一些静态的内容部署到ApacheServer,主要是html和图片等
WebLogic集群需要一台Server作为ManageServer,建议这台Server不处理请求,专门做管理。
WebLogic集群中Server之间主要是通过Scoket通讯,建议集群的所有Server位于同一网段中。
2.1失败转移与Session复制
http状态会话复制就是session的复制,例如你登陆了系统,如果一个服务器坏了,cluster会将你的请求转发集群中的另外一个server,由其继续处理你的这个请求,而不要重新登陆。
WebLogicServer通过Session复制在失败转移的时候保存用户数据,默认支持3种复制方式,InMemory、Database、File,建议采用InMemory的方式。
对WebLogicServer来说,它的cluster做session的inmemory的时时复制,这适用于webapplication及statefulsessionBEA的session内容的复制。
对非stateful的EJB,WebLogicServer的cluster做其负载均衡及failover的工作(failover只针对EJB的statelessBEAN)。
2.2负载均衡算法
WebLogicServer的负载均衡算法目前主要有:
Round-robin、Weight-base、Random、Parameter-basedrouting。
其中,Round-robin是默认算法,可以根据需要调整。
2.3集群的扩展
如果你要对集群做扩展,操作也非常方便,你只需要启动一个指向这个集群的AdminServer的managedserver就可以了,由这个集群中的唯一的AdminServer往这个managedserver上部署应用
3反洗钱系统安装与配置
基于J2EE开发的兴业反洗钱系统产品需要以同样的方式部署到WebLogic集群的每个实例上,建议每个实例的环境配置,文件路径相同,以便于管理。
对开发资源进行热更新和部署的时候,也需要对每台实例进行部署。
3.1集群规划
在规划集群配置时,应该牢记以下关于网络环境与集群配置的限制。
1.首先,集群中的WebLogic主机必须使用永久的静态IP地址。
动态IP地址分配不能用于集群环境。
如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器。
2.集群中的所有WebLogic服务器必须位于同一个局域网,并且必须是IP广播可到达的。
3.集群中的所有WebLogic服务器必须使用相同的版本。
配置集群中的服务器,使它们支持所提供的服务。
对于使用了JDBC连接的EJB,所有部署了某EJB的服务器必须具有相同的部署与持久化配置。
也就是说所有服务器都应该有相同的JDBC配置。
所有部署了servlet的主机必须维护一组具有相同ACL的servlet。
如果客户端应用直接使用JDBC连接池,那么你必须为每个WebLogic服务器创建相同的连接池(并具有相同的ACL)。
这意味着集群所使用的连接池应该可以在所有的机器上创建。
例如,一台运行WebLogic的NT服务器配置了连接MicrosoftSQLServer数据库的连接池,那么一个包含非Windows机器(即不支持MicrosoftSQLServer连接的机器)的集群不能使用这个连接池。
其它配置细节可能会因不同的集群成员而不同。
例如,一台Solaris服务器可以比一台小的NT工作站处理更多的登录请求。
这种差异是可以接受的。
因此,正如这里所给出的例子,对于那些与性能相关的属性,你可以根据每个集群成员的特点来配置不同的值,只要所有成员的服务配置相同即可。
因此,集群中的WebLogic服务器在所有与WebLogic服务、类文件以及外部资源(例如数据库)相关的方面具有相同的配置。
4创建用户
4.1点击“我的电脑”右键,选择“管理”
4.2选择“新用户”
4.3创建用户名,密码
5安装与配置
5.1硬件环境
本次的3台机器的详细配置信息如下:
机器类型
操作系统
硬件配置
角色
备注
HP
Win2003Professional
IP:
168.7.60.4
ServerIP4
管理机
HP
Win2003Professional
IP:
168.7.60.5
ServerIP5
受管机
HP
Win2003Professional
IP:
168.7.60.6
ServerIP6
受管机
HP
Win2003Professional
IP:
168.7.60.7
ServerIP7
受管机
HP
Win2003Professional
IP:
168.7.60.8
ServerIP8
受管机
HP
Win2003Professional
IP:
168.7.60.9
ServerIP9
受管机
5.2BEAWeblogicPlatform8.1安装步骤
5.2.1Win2000环境的安装步骤
1运行platform816_win32.exe
选择“next”
2点击“yes”,选择“next”
3选择bea的安装目录
4选择安装内容,点击“next”
5设置Weblogic安装目录,点击“next”
6选择安装
安装完成
5.3Domain安装步骤
5.3.1创建ClusteredDomain和AdminServer
创建新的Domain
选择“新建WebLogic配置”,单击“下一步”按钮。
选择安装类型
选择安装“BasicWebLogicServerDomain”,单击“next”按钮
选择定制安装
选择“自定义”安装,单击“next”按钮
输入AdministratorServer的信息
输入AdministratorServer的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSLenabled”后面的复选取框上打勾,配置SSL监听端口,单击“next”按钮
是否配置Server、Cluster、Machine信息
选择“实”,对Server、Cluster、Machine信息进行配置,,单击“next”按钮
配置ManagedServer信息
输入ManagedServer的名称,监听地址,监听端口,如果需要SSL支持的话,可以在“SSLenabled”复选框上打勾,配置SSL监听端口。
可以配置多个ManagedServer。
单击“下一步”按钮
点击“next”
配置Cluster信息
输入Cluster的名称,Cluster的组播地址和端口。
单击“下一步”按钮
注意:
Clusteraddress地址为收管机的地址与端口
将ManagedServer添加到Cluster中
选择左面列表中的ManagedServer,将其添加到右面的列表中,单击“next”按钮
配置Machine信息
在此不对Machine进行配置,单击“next”按钮
是否配置JDBC信息
在此不对JDBC数据源和连接池进行配置,单击“next”按钮
配置JMS信息
在此不对JMS进行配置,单击“next”按钮
配置缺省系统管理员用户名和密码
输入系统管理员用户名和密码,还可以配置其它的系统管理用户,在此不做配置,单击“下一步”按钮
配置Windows附加选项
可以选择是否创建开始菜单中的快捷方式,是否将该服务作为Windows系统服务,在这里我们全部选择“No”,单击“Next”按钮
配置服务的启动模式并选择JavaSDK
选择“DevelopmentMode”模式,并选择标准的JavaSDK1.4,在开发模式下会有比较丰富的调试信息,对我们很有帮助,单击“Next”按钮
配置信息确认以及选择安装路径
系统列出您的配置信息,并指定了缺省的安装路径(D:
\bea\user_projects\domains\mydomain),在此我们将安装路径定位在D:
\bea\user_projects\clusterdomain,单击“Create”按钮
系统创建Domain
系统根据配置信息,完成缺省的目录及文件的创建
5.3.2同一网段内不同机器部署集群
在不同机器上部署集群与上面的操作有一些不同,就是在部署“ManagedServer”时,要注意的是,参见下面的图解。
(以)
在另外一台机器上配置“ManagedServer”时,要指定“AdminServer”的名称,监听地址,监听端口。
另外要注意的是,“ManagedServer”上的配置信息要与“AdminServer”中Cluster所指定的配置信息一致。
5.3.3启动WebLogic服务
启动WebLogic服务
启动AdministratorServer
使用startWebLogic命令启动AdministratorServer
启动每台受管机
startManagedWebLogicServerIP4http:
//168.7.60.4:
7001
依照上述方法,将每台受管机启动,只需改变ServerIP4即可
5.3.4发布工程
启动AdministratorServer,进入Console控制台(http:
//168.7.60.4:
7001/console/),对工程进行发布
在发布工程之前,先将管理服务器和受管服务器中应用程序所在的文件夹设为共享,目前应用程序所在D盘下,只需将D盘设为共享
在登陆页面中输入用户名,密码,如下图所示:
进入首页,点击“WebApplicationModules”
点击“DeployanewWebAppliacationModule”
选择需要部署的工程,点击“TargetModule”
选择需要部署的受管机,全部的话直接点击“AMLCluster”,在点击“Continue”
选择“CopythisWebApplicationmoduleontoeverytargetforme”
点击“Deploy”
AdminServer只用于集群的管理,而不能参与集群事务。
Web应用应该部署到集群上,文件的同步是由WebLogic来完成的。
注意:
发布之前如下图设置发布路径:
5.3.5重新部署工程
当一个程序在修改之后,需要重新发布时,点击“defaultroot-new”
选择“Deploy”下的“Redeploy”按钮即可
5.3.6WebLogic调优
5.3.6.1设置线程数
选择任何一个受管机,选择“Monitoring”—〉“General”,点击“Monitor”
点击“weblogickernelDefault”
配置最大,最小线程数
5.3.6.2设置WebLogic内存
在D:
\bea816\weblogic81\common\bin\commEnv.cmd脚本下,配置如下信息:
5.3.6.3其他的一些设置
在D:
\bea816\user_projects\domains\mydomain\installService.cmd脚本下,配置如下信息,将setPRODUCTION_MODE=””,设置为true,如下图所示: