weblogic 7 cluster
时间:2006-03-02 来源:滚滚尘土飞
     
  
    说明:
  
  
    AS(Administrator Server),管理服务器,管理着整个Domain 和Cluster,维护着config.xml。
  
  
    MS1(Managed Server),被管理服务器,处理业务逻辑;
  
  
    MS2(Managed Server),被管理服务器,处理业务逻辑,运行着的应用程序与MS1完全相同;
  
  
    proxy:代理服务器,是一个Weblogic Server有实例,负载分发请求到MS1或MS2;
  
  
    C1,C2,C3:客户机实例。
  
  
    若MS1死了,业务请求由MS2来接管,客户会话状态被保留;
  
  
    若MS2死了,业务请求由MS1来接管,客户会话状态被保留;
  
  
    若MS1和MS2同时死了,客户请求被拒;
  
  
    若proxy死了,客户请求被拒;
  
  
    若AS死了,不影响业务请受理,只是不能管理Domain和Cluster了,这时只需重启动AS即可,AS会自动发现MS1和MS2,并把它们纳入管理范围;
  
  
    Deploy到Cluster的EJB,JMS,JSP/SERVLET,WAR,EAR等对象都支持Load-balancing和Failover功能。
  
  
    对于JNDI,由于是轻量级的存储,在整个Cluster范围内保持一致。
  
  
    Server1 ip 192.168.9.158 AS MS1
  
  
    Server2 ip 192.168.9.156 MS2 Proxy
  
  
    
      1. 创建一个新的Weblogic域
    
    
      创建一个Domain,命名为mydomain,管理服务器为myserver,IP地址和端口为192.168.9.158:8088;
    
  
  从CMD窗口,启动Admin Server。路径为:
  bea-path\user_projects\mydomain
  打开weblogic控制台,在servers下面创建三个服务器:manage_server1, manage_server2, proxy,IP地址和端口分别为:192.168.9.158:8080, 192.168.9.156:8080, 192.168.9.156:80,这三个服务器的角色就是Managed Server,即被管理服务器。
  
    在Clusters下面创建一个集群,命名为servercluster,把manage_server1, manage_server2两台主机添加为成员服务器。
  
  
    在manage_server1的configuration->cluster选项页中,Replication Group 配置groupa,Preferred Secondary Group配置为groupb。
  
  
    在manage_server2的configuration->cluster选项页中,Replication Group 配置groupb,Preferred Secondary Group配置为groupa。上述两项配置的意思就是,session信息互为备份。
  
  
    2. 启动Managed 服务器
  
  
    在Server1,在mydomain目录下,启动命令为: startManagedWebLogic manage_server1 http://192.168.9.158:8080
  
  
    
      在Server2,在mydomain目录下,启动命令为: startManagedWebLogic manage_server2 http://192.168.9.158:8080
    
    
      在Server2,在mydomain目录下,启动命令为: startManagedWebLogic proxy http://192.168.9.158:8080
    
    
      
        3. 在集群上部署测试应用程序
      
      
        可以使用bea-path\weblogic700\samples\server\src\examples\cluster\sessionrep\inmemrep
      
      
        的用例。该例子可以用来测试,集群session的复制。在该目录下,使用ant命令,编译生成war,将该InMemRepClient.war部署到cluster上。具体内容可以参考该目录下的:package-summary.html
      
      
        4.部署proxy Web-app 创建一个deaultProxyApp/WEB-INF目录,在在此之下创建Web.xml文件如下所示:
      
    
  
  
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
  
  
    
      <web-app>
    
    
      <servlet>
    
    
      <servlet-name>HttpClusterServlet</servlet-name>
    
    
          <servlet-class>weblogic.servlet.proxy.HttpClusterServlet</servlet-class>
    
    
          <init-param>
    
    
            <param-name>defaultServers</param-name>
    
    
            <param-value>192.168.9.158:8080|192.168.9.156:8080</param-value>
    
    
          </init-param>
    
    
      <init-param>
    
    
            <param-name>DebugConfigInfo</param-name>
    
    
            <param-value>ON</param-value>
    
    
          </init-param>
    
    
          <load-on-startup>0</load-on-startup>
    
    
        </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>*.htm</url-pattern>
    
    
        </servlet-mapping>
    
    
       
    
    
        <servlet-mapping>
    
    
          <servlet-name>HttpClusterServlet</servlet-name>
    
    
          <url-pattern>*.html</url-pattern>
    
    
        </servlet-mapping>
    
    
      </web-app>
    
    
      文件中加粗的地方要注意,其它的不用作任何改动。
    
    
      weblogic.servlet.proxy.HttpClusterServlet是weblogic.jar包中自带的类。
    
    
      在生产环境中,建议把DebugConfigInfo设置为OFF。
    
    
       部署defaultProxyApp
    
  
  选择defaultProxyApp目录,将其部署到proxy服务器上。
  
    5.  执行4中描述的脚本,重新启动所有服务器,注意,这一步不是必须的!但BEA推荐这样做!
  
  
    
      6.  测试群性能
    
    
      http:// 192.168.9.156:80/InMemRepClient/Session.jsp
    
    
      使用测试用例,可以从页面看到session信息保存在某台manage Server之上。如果将该server down, 重新访问该页面可以看到session信息被复制到另外一台server上了。证明了集群机制已配好。
    
  
  
   相关阅读 更多 + 
    
   排行榜 更多 + 
    
    
  









