系统根据配置信息,完成缺省的目录及文件的创建
启动WebLogic服务 启动Administrator Server
使用startWebLogic命令启动Administrator Server
启动Managed Server
使用startManagedWeblogic命令启动Managed Server,它的命令格式是:
startManagedWeblogic.cmdManaged Server的名称Administrator Server地址
同理可以启动nodeB和nodeC,以及Proxy Server
通过HttpClusterServlet实现请求的自动分发处理 HttpClusterServlet通过一个WebLogic服务器代理对WebLogic集群中的其他服务器成员的HTTP请求,同时HttpClusterServlet还为代理的HTTP请求提供负载平衡与容错处理。
实际上实现是很简单的,遵循下面几个步骤就可以轻松实现请求的自动分发功能:
创建一个代理Server(在此我们称这proxyServer)
生成配置文件web.xml
生成配置文件weblogic.xml
打包生成Web应用
在proxyServer上部署应用,并将该应用作为缺省的Web应用
创建代理Server 启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Server”结点上单击右键,在弹出菜单上选择“Configure a New Server”,然后配置代理Server的相关信息。(在这里只要指定名称,监听地址,监听端口就可以了)
HttpClusterServlet的部署,主要是Servlet的声明和映射,并设置初始化参数,可以创建一个Web App,然后直接在web.xml中添加或在管理控制台上设置HttpClusterServlet的部署信息。最后将它发布给用来做代理的Server,并将这个Web App设置为这个Server的缺省WEB应用。
web.xml文件示例 weblogic.xml文件示例 打包WEB应用 可以使用jar命令将proxy应用打包成war文件,我们建一个临时目录temp,然后在其中建立如下目录结构:
使用如下的命令操作,就可完成web应用的打包操作:
JAR –参数 WEB应用名称要打包的目录
当然我们也可以直接部署该目录,而无需打包,这在项目的开发阶段是很有帮助的,便于修改。
部署proxy应用 启动Administrator Server,然后进入Console控制台(http://10.16.92.33:7080/console/),在此我们将代理Server与Administrator Server置于同一台主机之上。
进入console控制台后,在“Web Application Modules”结点上单击右键,在弹出菜单上选择“Deploy a new Web Application Module”,然后选择要部署的文件或目录,单击“Target Module”按钮,然后选择“proxyServer”,单击“Continue”按钮,到了下一步,单击“Deploy”按钮,完成部署工作。
部署完成后,查看WEB应用的状态是“FAILS”,造成这种情况的原因是“proxyServer”还没有启动,我们可以通过下面的命令启动“proxyServer”:
然后点击“ReDeploy”,重新部署应用,状态值将变为“Success”。
将WEB应用配置成缺省的WEB应用,weblogic8.1与weblogic6.1有很大的不同,8.1不再支持从console控制台完成配置的工作,而是在weblogic.xml中通过下面的结点,完成配置的工作。
<context-root> / </context-root>
测试proxy应用
修改web.xml文件,加入下面的结点,然后重启服务。
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
打开浏览器,访问下面的地址,会得到下图所示的结果,这就说明你的配置是成功的。
http://myserver:port/placeholder.jsp? __WebLogicBridgeConfig
myserver为服务地址(在这里是10.16.92.7)
port为proxy服务的端口(在这里是8080)
placeholder.jsp(这是一个不存在的JSP文件,您也可以随意指定文件名)
__WebLogicBridgeConfig(这个可千万不能写错呦!)
测试集群的分发功能
编写测试WEB应用并部署
我们来编写一个简单的WEB应用,它会在控制台和浏览器上同时打印出“OK”字样,然后将这个WEB应用部署到集群中所有Managed Server上面。(代码见附件)
在这里我们将通过Apache中所带的ab包来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。
ab –n 100 –c 10 http://10.16.92.7:8080/index.jsp
ab是测试程序的名称
参数n代表请求的总数量
参数c代表并发的请求数
url为要测试压力的页面
注:使用这个命令时,一定要在系统路径中能够找到该程序,否则不能执行。
压力测试完成后,我们从Managed Server的控制台上可以看到,nodeA,nodeB,nodeC都打印出了“OK”字样,这说明,在并发请求的情况下,集群能够将请求进行分发,以达到负载平衡的目的。
测试应用的目录结构如下,部署与proxy应用的部署一样,要注意的是要将它部署在Managed Server上面。
同一网段内不同机器部署集群
在不同机器上部署集群与上面的操作有一些不同,就是在部署“Managed Server”时,要注意的是,参见下面的图解。
在另外一台机器上配置“Managed Server”时,要指定“Admin Server”的名称,监听地址,监听端口。
集群配置中要注意的问题
Admin Server只用于集群的管理,而不能参与集群事务。
Web应用应该部署到集群上,文件的同步是由WebLogic来完成的。