zoukankan      html  css  js  c++  java
  • IBM Websphere 集群会话共享问题解决办法

    遇到一应用部署环境如下图:

    两台HTTP SERVER(以下简称IHS)负责转发数据包,其中F5采用粘性模式,即一个用户在会话周期内的数据包一定会被转发到IHS中的一台,

    但IHS 到Web Server之间的服务器选择确是随机分发的,导致请求会话无法保持,由于部署的为管理类系统,SESSION的保持是必须的。

    WebSphere 有两种解决办法:

    1. 全部WebSphere Server 会话广播,即某台机器会话更变时通知其他所有Server。

    2. 在IHS 中修改配置,在IHS 和Server之间通信也采用粘性会话。

    由于目前服务器的数量和用户量不适合采用 办法1,广播模式的成本较高,所有采用 办法2,具体修改如下:

    1. 前提条件:

    配置好IHS插件,使得Websphere 管理节点能管理两台IHS(生成插件->传播插件),并重启IHS。

    1.1 IHS启动必须使用root,LINUX中80端口的占用只能有root进程进行,要使得Websphere 管理节点能管理该ROOT进程的IHS,NodeAgent也必须使用root启动.

    1.2 在管理节点中 vi %WebSphere_Home%/profiles/Dmgr1/config/cells/plugin-cfg.xml

    修改ServerCluster的属性 IgnoreAffinityRequests="false", 使得IHS请求分发时会绑定机器。

    该原理的实现是依赖于生成名为JESSIIONID的COOKIE,值类似于 00002eIFFjM-ql2ZityHVfjJmO5:187rufomo

    其中分号后面的数值就能代表具体是哪个Server(即哪个JVM进程),

    1.3 分别进入两台IHS服务器, vi %IHS_HOME%/Plugins/config/server名称/plugin-cfg.xml

    同样修改ServerCluster的属性 IgnoreAffinityRequests="false"

    1.4 进入WebSphere管理控制台 ,点击 环境->更新全局Web服务器插件配置->确定。 

    1.5 重启 IHS 服务,重复刷新,认证是不是请求都被转发到一台服务器。

    说明: 在 “生成插件”这步骤中,IgnoreAffinityRequests又会被重置为true, 需要再次更改。

    1.6 如果想更改会话使用的COOKIE名称,在WebSphere管理控制台中,进入 企业应用程序->点击待更改COOKIE名称的应用->会话管理->启用COOKIE,

    更改COOKIE名即可,根据需要更改COOKIE域和COOKIE路径, 再返回 “会话管理” 勾选 “覆盖会话管理”。

  • 相关阅读:
    FEniCS 1.1.0 发布,计算算术模型
    Piwik 1.10 发布,增加社交网站统计
    淘宝褚霸谈做技术的心态
    CyanogenMod 10.1 M1 发布
    Druid 发布 0.2.11 版本,数据库连接池
    GNU Gatekeeper 3.2 发布
    Phalcon 0.9.0 BETA版本发布,新增大量功能
    EUGene 2.6.1 发布,UML 模型操作工具
    CVSps 3.10 发布,CVS 资料库更改收集
    Opera 移动版将采用 WebKit 引擎
  • 原文地址:https://www.cnblogs.com/mikevictor07/p/4059740.html
Copyright © 2011-2022 走看看