weblogic的cluster 和session复制



 

 
 集群配置,
session复制

集群相关的文章:http://www.blogjava.net/kapok/archive/2005/07/09/7423.html

一、使用Configuration Wizard创建Domain

该集群的总体图如下:

 
weblogic的cluster 和session复制

 


weblogic的cluster 和session复制
 


weblogic的cluster 和session复制

 


weblogic的cluster 和session复制
 
 
weblogic的cluster 和session复制

 


weblogic的cluster 和session复制

 


weblogic的cluster 和session复制
 

 


weblogic的cluster 和session复制


weblogic的cluster 和session复制

 


weblogic的cluster 和session复制

 


weblogic的cluster 和session复制

 


weblogic的cluster 和session复制
 

 

 



 


 

weblogic的cluster 和session复制
 
 
 

二、创建Proxy Server

     Standalone

     Server Name: proxyServer

     Server Listen Address: localhost

    Server Listen Port:: 7009

    Standalone Server: True

  启动Proxy Server:

   cd c:\bea\user_projects\domains\dizzyworld

 

   start bin\startManagedWebLogic.cmd proxyServer http://127.0.0.1:7001

 

  

  创建ProxyServer过程如下:

 

 


weblogic的cluster 和session复制
 
weblogic的cluster 和session复制
 


weblogic的cluster 和session复制
 

三、往ProxyServer部署

       proxyApp.war

   部署到ProxyServer上,其中web.xml配置如下:

      <init-param>

      <param-name>WebLogicCluster</param-name>

      <param-value>localhost:7003|localhost:7005|localhost:7007</param-value>

</init-param>

该初始化参数为为ManagedServer的地址和端口


weblogic的cluster 和session复制

 

<servlet-mapping>

    <servlet-name>HttpClusterServlet</servlet-name>

    <url-pattern>*.jsp</url-pattern>

  </servlet-mapping>

servlet-mapping为所截获的所有请求,接受请求后转发给所有的server

 

四、启动Managed Server

  1、启动NodeManager

        cd d:\bea\weblogic92\common\nodemanager\

        start d:\bea\weblogic92\server\bin\startNodeManager.cmd  127.0.0.1 5555

        start d:\bea\weblogic92\server\bin\startNodeManager.cmd  127.0.0.1 5556

  2、启动Managed Server

        cd d:\bea\user_projects\domains\dizzyworld

        start bin\startManagedWebLogic.cmd dizzy1 http://127.0.0.1:7001

        start bin\startManagedWebLogic.cmd dizzy2 http://127.0.0.1:7001

        start bin\startManagedWebLogic.cmd dizzy3 http://127.0.0.1:7001

 

五、将测试应用程序部署到集群的成员服务器中

       browsestore.war

   将应用程序部署到Cluster

  
weblogic的cluster 和session复制

 

六、测试集群配置结果

   访问Proxy Server

         http://localhost:7009/browsestore

 

 

 

七、session复制

     Session复制有三种实现方式:

1.In-memory复制

2. 文件系统持久性

3. JDBC的数据库持久性

 

 

 

1.复制组解决session复制到问题(In-memory复制)

复制组只是用于存储会话状态复制品的集群实例优先级列表

cluster创建两个复制组dizzyRepGroup1dizzyRepGroup2 ,dizzyRepGroup1包含

dizzy1dizzy2,dizzyReGroup2包含dizzy3,结构如如下:

 


weblogic的cluster 和session复制

 

 

a.创建的操作步骤如下( 配置dizzy1)  


weblogic的cluster 和session复制
 


weblogic的cluster 和session复制
 
 

 

同理可以配置dizzy2 dizzy3

 

 

b.修改应用程序的配置文件weblogic.xml,增加

    <session-descriptor>

       <timeout-secs>300</timeout-secs>

       <invalidation-interval-secs>60</invalidation-interval-secs>

       <persistent-store-type>replicated_if_clustered</persistent-store-type>

    </session-descriptor>

 这样能使session复制功能的实现,从而实现故障转移

 

c.部署应用程序ShoppingCart.war

 

 

1.    通过JDBC的数据库持久性(把session放在数据库中)

  1. 数据库实现session复制,架构图如下:

 
 


 

 

 

 

 


weblogic的cluster 和session复制
 

d.访问 http://127.0.0.1:7009/ShoppingCart/

1.    通过JDBC的数据库持久性(把session放在数据库中)

  1. 数据库实现session复制,架构图如下:

  weblogic的cluster 和session复制
 

 

 

 

 

 

b.创建复制组(如下图所示),配置方法如in-memory相同


weblogic的cluster 和session复制
 

c.创建数据源

 

Name: SessionDS

JNDI Name: SessionDS

Targets: dizzyworldCluster

d.创建表,表结构如下:

     CREATE TABLE "PBPUBLIC"."WL_SERVLET_SESSIONS"

(WL_ID VARCHAR ( 100)  NOT NULL

, WL_CONTEXT_PATH VARCHAR ( 100)  NOT NULL

, WL_IS_NEW CHARACTER (1)

, WL_CREATE_TIME DECIMAL ( 20)

, WL_IS_VALID INTEGER

, WL_SESSION_VALUES BLOB

, WL_ACCESS_TIME DECIMAL ( 20)  NOT NULL

, WL_MAX_INACTIVE_INTERVAL INTEGER,

PRIMARY KEY (WL_ID, WL_CONTEXT_PATH)

 );

e.配置weblogic.xml

<session-descriptor>

<timeout-secs>300</timeout-secs>

<invalidation-interval-secs>60</invalidation-interval-secs>

<persistent-store-type>jdbc</persistent-store-type>

<persistent-store-pool>SessionDS</persistent-store-pool>

<persistent-store-table>WL_SERVLET_SESSIONS</persistentstore-table>

</session-descriptor>

 

 

 

 

 

该文章做成了pdf文档,在附件中