weblogic集群设置和集群原理

一、weblogic集群设置

以下三点:

1、weblogic.xml设置集群的session为复制信息,修改以下语句:

 

<session-param>
 <param-name>PersistentStoreType</param-name>
 <param-value>memery</param-value>
 </session-param>
</session-descriptor>

为:

<session-param>
 <param-name>PersistentStoreType</param-name>
 <param-value>replicated</param-value>
 </session-param>
</session-descriptor>

 

2、SESSION数据必须被序列化:为了支持HTTP session 状态的内存内复制(InMemory),所有的 servlet 和 JSP session 数据必须被序列化,对象中的每个域都必须被序列化,这样对象被可靠的序列化。

补充:WebLogicServer通过Session复制在失败转移的时候保存用户数据,默认支持3种复制方式,InMemory、Database、File,建议采用InMemory的方式。

 

 

 

3、session修改,必须调用session.setAttribute(key, bean);方法,否则session不能同步修改。

Customer customer = (Customer)session.getAttribute(KEY_CUSTOMER);

 

customer.setName("funcreal");
session.setAttribute(KEY_CUSTOMER, customer); //不能省略

二、Weblogic集群原理

Weblogic 服务器集群将一组服务器集合在一起工作,来提供更灵活调配的、更稳定的应用平台。服务器集群对用户是透明的,对用户来说,服务器集群只是一个简单的 server 端,然而实际上,多台服务器一起协同工作来提供服务。通过部署 weblogic 服务器的集群功能,网站对于来自网络用户的请求具备了出色的可扩展性、更高请求处理容量和冗余能力。

对于一个集成的环境,客户端的会话状态必须被保存,以使得在出现故障时能够获得备份 session 状态。 Weblogic server 提供三种途径获得客户端会话状态: 数据库复制(通过 JDBC )、基于文件的复制和内存中的复制 。

使用基于 JDBC 或基于文件的持久机制分别将客户端的会话状态保存在数据库或者文件中。当一个客户端首次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器将会话状态完整地保存在离线存储器中。随后的客户端的请求将被持续地发送给同一台 server ,这样就保证了会话状态的更新在存储机制中的保存。如果这台服务器发生故障,那么该客户端可以连接到集群中的任何一台服务器。新的服务器通过读取储存在文件系统或者是数据库中的会话状态来恢复与客户端的会话。

内存中的复制机制同样也用于保存客户端会话数据,但是它使用内存而不是其他永久存储机制。在客户端初次连接到集群中的某台服务器时,客户端与该服务器的连接建立,同时该服务器指定另外一台集群中的服务器作为辅助服务器来存储会话数据的复本。随后的客户端的请求将被持续地发送给同一台 server ,从而确保了在任何给定时间集群中都存有该客户机会话数据的两份拷贝。

当与该客户端建立连接的服务器发生故障时,客户端可以连接到集群中另一台服务器。新的服务器将通过查找保存在 Weblogic 服务器 cookie 上的信息,对保存了客户端会话状态的复本的服务器进行定位,并且复制会话状态。通过这种容错处理的方式,客户端可以透明地故障切换到另一台服务器,无需使用持续性存储器便可长期保存会话数据。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值