1、基本概念总结
a. 什么是Domain和Server
Domain是WebLogic Server实例的基本管理单元。所谓Domain就是,由配置为Administrator Server的WebLogic Server实例管理的逻辑单元,这个单元是有所有相关资源的集合。
Server是一个相对独立的,为实现某些特定功能而结合在一起的单元。
b. Domain and Server的关系
一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。一个Domain中有一个且只能有一个Server 担任管理Server的功能,其它的Server具体实现一个特定的逻辑功能。
c. WebLogic集群的体系结构
1. 单层混合型的集群架构
这种架构将所有的Web应用以及相关的服务应用全部置于集群中的单一WLS实例中,这种架构的优势在于:
>> 易于管理
>> 灵活的负载平衡机制
>> 更强的安全控制
2. 多层结构的集群架构
这种架构使用两个WLS集群,一个放置表静态内容和集群Servlet,另一个放置集群EJB。一般应用于下面这些情况:
>> 在负载平衡机制需要调用集群EJB中的方法时;
>> 在提供内容与提供对象的服务之间需要更大的机动性时;
>> 在需要更高的系统稳定性时;
d. 配置集群应用的必要条件
1. 集群中的所有Server必须位于同一网段,并且必须是IP广播(UDP)可到达的
2. 集群中的所有Server必须使用相同的版本,包括Service Pack
3. 集群中的Server必须使用永久的静态IP地址。动态IP地址分配不能用于集群环境。如果服务器位于防火墙后面,而客户机位于防火墙外面,那么服务器必须有公共的静态IP地址,只有这样,客户端才能访问服务器
4. 要以CLUSTER方式运行,必须有包含CLUSTER许可的LICENSE才行.
2、集群配置总结
a. 配置集群可以在新建域(Domain)的时候进行,也可以在一个现有的域的基础上进行
b. 在没有集群的环境下,新建一个域时可以将管理服务器(Admin Server)作为事务处理服务器使用,否则管理服务器应该指向集群的Admin Server所在的机器。
c. 启动Managed Server的方法有两种,一种是以命令行的方式,即: startManagedWebLoigc managedserver http://adminserver_address/;第二种是在WebLogic管理控制台中启动此时必须先启动NodeManager,并且在一台机器上的多个Server只需要启一个 NodeManager实例。两种启动方式下Weblogic的后台输出是不一样的,前者输出到控制台窗口,后者输出到ModeManager目录下的日志文件中,一个Server一个日志文件。
d. 必须通过HttpClusterServlet实现集群的自动请求转发,也就是说必须创建一个Server作为代理服务器(proxy Server)。
在代理服务器上部署缺省的Web应用,该应用的WEB-INF目录包括下两个文件,其中web.xml内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app id="WebApp_ID">
<display-name>NJGS Web Application</display-name>
<servlet>
<servlet-name>HttpClusterServlet</servlet-name>
<servlet-class>
weblogic.servlet.proxy.HttpClusterServlet
</servlet-class>
<init-param>
<param-name>WebLogicCluster</param-name>
<param-value>
localhost:7011|localhost:7012|localhost:7013
</param-value>
</init-param>
<init-param>
<param-name>DebugConfigInfo</param-name>
<param-value>ON</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>HttpClusterServlet</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
weblogic.xml文件的内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<context-root>/</context-root>
</weblogic-web-app>
注意上述context-root的内容必须为 /
e. Web应用向集群上部署时,必须选择部署到整个集群或者集群中的某些服务器,Http请求的转发由代理服务器自动处理。
f. 可以写个简单的页面,并且用JMeter模拟上百个请求同时访问该页面以 测试集群功能。请求的格式为 http://proxyserver_address/应用名/测试jps页面
E:\bea\user_projects\domains\mydomain>startmanagedweblogic managed2 http://IP:7001
cd
startweblogic
startmanagedweblogic managed2 http://IP:7001