WXS环境下的e—CIQ主干系统跨集群SESSION共享故障排查实例

来源 :知识窗·教师版 | 被引量 : 0次 | 上传用户:ssjspace
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  中国电子检验检疫主干系统(以下简称e-CIQ主干系统)是基于全国大集中要求设计的全新核心业务系统,它依托在北京建设的亦庄、东坝双活数据中心,实现了全国大集中条件下应用可用性99.99%的设计要求。而用户Session会话的跨数据中心集群的安全、快速、可靠共享管理,是确保双活顺利实现的关键。为此,e-CIQ主干系统运用跨WAS集群的Session,选用了业界领先的IBM WAS SESSION高速缓存服务中心(WebSphere eXtreme Scale,WXS)方案来实现应用集群的SESSION共享管理工作。
  通过IBM、官方文档及售前工程师的介绍,WXS高速缓存服务中心是将原有多节点的Session会话共享管理工作通过专用的独立HIS/WAS/WXS服务器(标准最小部署至少18个节点)实现跨集群Session会话内容共享管理,对Session的管理依然遵循JavaEE技术标准,包括客户端与服务器端Session的保存机制,均采用JSessionID来保持Session的内容,这也是JavaEE标准的实现方式。
  在e-CIQ主干系统北京双活数据中心机房测试环境中,硬件环境集成商已完成WAS集群和Session高速缓存服务中心搭建,同时在双活中心测试环境也部署了e-CIQ主干系统应用。但是经过第三方测试,e-CIQ项目应用集群Session信息无法共享,在客户端连接时会出现Session丢失的情况,客户端会提示“服务器已经重启,您的登录信息已经失效,请重新登录”并报错。如图1所示:
  一、背景情况
  e-CIQ主干系统双活中心WAS集群的部署结构适合于应用业务双活类型,具备软件业务应用层面实现业务双活、多路径访问以及负载均衡,单中心基于VMware vSphere HA和应用集群(中间件集群),双活数据中心之间采用应用软件1∶1部署,双活中心之间采用Session高速缓存服务中心(WXS)集中管理缓存,保证双活数据中心内的单个中心全站点在宕机极端情况下,作为双活数据中心整体仍然能够对外持续提供业务服务,如图2所示:
  基于IBM官方提供的标准测试WAR包在WAS环境下的Session高速缓存服务中心下,可以实现集群Session集中共享。但是经第三方测试反馈,e-CIQ主干系统应用集群Session共享存在问题,出现Session频繁丢失的情况。
  笔者初步分析问题后,发现由e-CIQ主干系统创建的Session会话信息并未成功存放到WAS集群下的WXS Session高速缓存服务器中,导致e-CIQ主干系统Session会话信息无法共享。笔者经过进一步分析,了解到e-CIQ主干系统基于中国电子检验检疫统一开发平台(以下简称UIP平台)进行开发的,软件开发商遵循标准的开发平台规范,对业务逻辑进行编码实现,底层资源、包括Session的管理,均在UIP平台中实现,业务应用代码层面并没有对Session进行处理。
  二、故障排查
  根据IBM官方技术支持反馈,WXS作为IBM提供的分布式高速缓存平台,用于存储服务器端的会话信息,由容器服务器和目录服务器组成,目录服务器主要用于索引,容器服务器才是真正存放会话信息的服务器。多台服务器把会话信息存放在容器服务器内,用户读取信息时,需要从目录服务器查询会话信息的容器服务器,查询完成后再从相应的容器服务器获取会话信息,就能实现会话信息的共享了。也就是说,为了实现会话信息共享,索引和内容两个关键点缺一不可。
  为此,在北京双活数据中心测试WAS集群中,笔者和开发人员首先在服务端环境中开发了一个JSP页面,进行抓包分析测试。在使用WXS抓包套件条件下,通过对HTTP请求抓包,发现两次COOKIE项值与未使用WXS的情况存在差异。具体表现为:使用WXS后JSessionID经过加工处理,增加了标记段,同时多传回标记为IBMID的COOKIE值。抓包测试结果如图3、图4所示。
  笔者经排查发现,IBM WAS 在实现Session共享时,会对JSessionID 进行相关处理,包括修改JSessionID的值。JSessionID本身是用来存放SESSION ID的,IBM WAS 会在Session ID 前增加4位字符,在Session ID 结尾处增加一个以“:”(英文冒号)开始、以“;”(英文分号)结束的字符串,如图5所示:
  此外,富客户端每次发起网络请求时还需包含IBMID参数,IBMID参数的值是以SESSIONID开头,然后在结尾处增加一个以“:”( 英文冒号)开头的字符串。每次请求时,必须包含这两个参数,并且要严格遵守上述格式,否则就会出现Session丢失故障提示,如图6所示:
  至此,笔者猜测问题在于IBM WAS在实现Session共享时,并未遵循JavaEE Web技术标准对SessionID 进行相关修改。之后,相关的分析也佐证了笔者的猜测。
  从操作性、安全性及效率性来考量,e-CIQ主干系统客户端使用了Java AWT(Abstract Window ToolKit)的Swing封装套件,基于UIP-RCP(Rich Client Platform)开发的富客户端。作为对比,IBM官方标准测试WAR包是基于B/S模式实现的Web页面跨集群Session会话共享管理。浏览器和富客户端对Session的管理机制存在差异,主流浏览器回传的是整个Session字符串,而富客户端按照Java标准仅回传JSessionID值。这就解释了IBM官方测试WAR包缓存共享测试通过的原因。
  进一步深入查询相关技术文档后,笔者发现IBMID由WXS负责跟踪,其与JSessionID的格式略有不同。JSessionID的格式为:,IBM WXS IBMID的格式为:
  三、解决方案
  明确问题故障节点后,笔者和技术人员就开始着手排除故障,主要是针对UIP v4.4平台中rcp-core.jar进行修改。修改工作主要包括三处,分别是:
  第一,对ClientSession类进行修改,增加IBMID成员变量,提供getter和setter方法,用于将IBMID存储以及搜索WXS中的Session会话信息。如图7所示:
  第二,修改HttpClientProxy类,对IBMID进行判断,针对存储在Cookie中的IBMID,在每次发送request时候,同时将IBMID也一起发送。如图8所示:
  第三,修改HttpStreamProxy类,生成符合WXS环境下共享缓存所需的IBM JSessionID和IBMID格式SessionID值串。如图9所示:
  四、工作小结
  IBM WAS系列产品作为行业龙头,凭借操作系统(AIX) 中间件(WAS) 数据库(DB2)的颇具杀伤力的组合,其中间件产品标准基本上与行业标准、技术标准画等号。
  令人信任的产品不能盲从于权威,尤其是在细节方面。WAS产品为了实现自身更多的独有特性,牺牲了不少兼容性,并对配置提出了更高的要求,值得大家在项目管理工作中更加注意。
  (作者单位:江西出入境检验检疫局)
其他文献
经历了明清两朝漫长的海禁,郑和宝船及中国舰队退出了大海,其独步世界的造船工艺也失传已久。600年后,郑和宝船又将再现大海,重下西洋?  一艘纯手工等比例复建、造价高达1亿人民币的郑和宝船,将于2013年重走郑和下西洋航线。眼下,它正在南京鼓楼区扬子江大道1号的“郑和宝船厂”进行肋骨安装,72道5吨级木质肋骨,已经支撑起了长达71.1米、四层楼高的巨大船体雏形。4个月前,它已完成了48米长的龙骨拼接
享受旅行中的美景的同时,也要很好地把它记录下来。除了一款得心应手的数码相机,你也需要一款大容量、高速度的存储卡来与之搭配。东芝极至瞬速?N302系列SD存储卡就是一款非
1573,明万历元年,一个“一人无为,四海少事”的普通年头。但巨变已在外表的平安无为中萌芽。在这个庞大而成熟的农业帝国中,白银正成为润滑油和助燃剂,点燃了繁盛的商业、释
在学习“力”的知识时,由于对力的概念缺乏深刻理解,一部分同学在画力的示意图时经常出错,为了扫清同学们学习道路上的障碍,本文从以下几个方面来分析产生错误的原因,引导同学们走出学习误区。 本文为全文原貌 未安装PDF浏览器用户请先下载安装
随着课程改革的深入发展,小学数学学业评价应该改变只把学业评价被简单地理解为是对学习结果,即学习的获得性的判断的状况,促进学生的全面发展。促进小学数学学业评价目标的
作业内容人教版三年级上册第一单元第4课。设计理念“让学生正确理解和运用祖国语言”是新课程的基本理念之一。本次作业设计将教材当例子,通过“积累、模仿、创造”三种不同
摘要:在课堂教学中,教师只有重视思维过程,强化思维训练,发散聚合统一,让全体学生在积极的思维中培养思维的独创性,才能有助于优化学生的思维品质,发展学生的思维能力,进而取得理想的教学效果。  关键词:创造教学;创造思维能力;思维过程;思维训练;发散聚合  中图分类号:G427文献标识码:A 文章编号:1992-7711(2013)02-033-1  我们认为:创造思维是指凡是发现了自己原来不知道的知
在社会经济、科技快速发展影响下,很多企业都将计算机应用水平作为衡量人才综合工作水平和能力的重要标志。因此,为了使高职生在走入社会后,能够更好的适应社会发展需求,不断
有机化学是中学化学的重要内容,而烃的衍生物知识又是有机化学的核心部分,知识量大,涉及面广,关系错综复杂.它不仅是高考的重点、热点,而且也是高考试题的难点所在.因此学好
这一天,正是嘉庆帝谒东陵还宫的日子。正当浩浩荡荡的仪仗护着嘉庆帝转过神武门,将要进入贞顺门的时候,一个中年男子突然从角落里一跃而出,径直扑向嘉庆帝,手里还握着一把锋