Research|技术应用2017年·第6期
栏目编辑:梁丽雯 E-mail:liven_01@163.com
基于Tuxedo的核心系统双中心多活部署的技术实现研究*
■ 重庆银行数据中心网络 廖维娅 张慈湑
摘本文探讨了基于Tuxedo中间件的双数据中心多活部署的技术实现。在具体实现过程中,首先需要完要:
成应用系统在单一数据中心的集群部署,然后在此基础上扩展部署到第二个数据中心,实现应用的多活部署。同时,笔者还介绍了两种核心系统的间接检查方式,一是通过Tuxedo服务自身API的外挂守护进程进行健康检查,二是通过Tuxedo服务外挂守护进程模拟交易进行健康检查。
双数据中心;多活部署;域名系统;负载均衡;Tuxedo中间件关键词:
一、前言
为实现基于Tuxedo中间件的核心系统的双数据中心多活部署,首先需要通过应用交付设备实现应用系统在单一数据中心的集群部署,然后在此基础上扩展部署到第二个数据中心;通过多层级的数据流调度,进而实现应用的多活服务实现。
本文将对基于客户端域名解析访问和IP地址访问分别给出一套经过验证的实现方案。
时,一般采用对二层网络兼容性好、可靠的代理模式进行部署。代理模式下,Tuxedo中间件WSL通信和WTC通信的处理流程,如图1所示。
①WSC向服务器发起第一次请求,通过应用交付设备后,被负载到1号机(或2号机)的WSL进程上,WSL此时建立WSH进程;
②1号机的WSL进程将针对本次WSC请求所分配的WSH进程信息(WSH的IP和Port)返回给WSC,并结束①和②所在的本次连接;
二、单一数据中心的集群部署
基于Tuxedo中间件的核心系统在单一数据部署
③WSC在获取②所包含的WSH所在的IP和PORT后,发起向WSH的请求;
作者简介: 廖维娅(1969-)女,重庆人,网络规划师。
张慈湑(1985-)男,陕西汉中人,网络工程师。 收稿日期: 2017-04-20
*本文仅代表作者个人观点,不代表作者所在单位意见。
40
2017年·第6期
栏目编辑:梁丽雯 E-mail:liven_01@163.com
Research|技术应用1. 三大要点
基于域名解析的应用双活部署实现使用了F5 Network公司的LTM与GTM设备,利用LTM与GTM设备之间状态同步特性,实现基于业务状态提供最佳服务的应用双活部署。在具体组网时,有下述3个要点。
一是LTM设备完成单一数据中心内应用的高可用性配置;同时利用LTM设备的可编程的特性,满足应用系统的业务特性要求与健康检测。
二是跨多个数据中心组成一个GTM
集群,负责应用系统的域名解析管理并收集LTM所支持应用系统的服务状态并结合用户的业务调度策略,灵活响应域名的解析请求,实现WSL请求的多数据中心调度目标。
三是多个数据中心的GTM设备组成一个集群,实时同步配置和业务状态,提升域名解析服务的运行稳定性。
2. 具体的业务处理流程
在组网完成后,具体的业务处理流程如下,其中前6点为WSC发起的WSL通信过程,后3点为Weblogic发起的WTC通信过程,如图2所示。
①WSC发起DNS解析查询,希望获取到WSL的服务IP地址信息;
②GTM集群根据各个数据中心内部LTM设备所同步来的WSL和WSH应用系统服务状态,给WSC返回可用的WSL服务IP地址信息;
③WSC后续根据域名解析过程所获取的WSL服务IP地址信息,访问指定数据中心内LTM设备上的WSL服务IP地址;
④LTM设备接到WSL服务请求后,负载均衡到后端不同服务器的WSL服务端口,并通过WSL过程将WSH对外服务IP信息(LTM的对应服务发布IP地址)
图1 单一数据中心的集群部署
④WSH受理WSC的请求并处理,处理完成后将结果返回WSC;返回完毕后,释放WSH;
⑤WTC长连接通信借用应用交付设备为WSH服务所建立的服务(含状态健康检查),将访问引导到后端的核心服务器上;
⑥应用交付设备根据预设的WSH服务配置,将WTC长连接请求报文转发到后端核心系统。
在WSL通信过程中,需要修改Tuxedo服务器的UBB配置文件,将WSL工作模式改为防火墙模式,同时WSH发布的地址修改为VIP-1(或VIP-2);关于WTC通信过程中,需要将VIP-1和VIP-2加入Weblogic的域配置中。
三、双数据中心多活部署
基于Tuxedo中间件的核心系统进行双数据中心多活部署时,其重点在于将访问请求按需引导到每个数据中心所发布的WSL和WSH对外服务地址上,具体实现有域名解析与IP访问两种方式。
(一)域名解析的应用双活部署实现
由于在Tuxedo通信中,只有WSL通信能够基于域名系统进行调度(需要WSC客户端应用支持),因此基于域名解析的应用双活部署主要针对WSL通信。
41
Research|技术应用2017年·第6期
栏目编辑:梁丽雯 E-mail:liven_01@163.com
的LTM设备,并按照下述3个要点进行数据中心组网。
一是总控层LTM设备完成跨多个数据中心应用系统的高可用性配置;单一数据中心内部的LTM设备完成本中心内应用系统的高可用性配置。
二是跨多个数据中心的应用访问调度;如果两个数据中心之间是三层网络互联,利用总控层LTM设备的RHI(动态路由重注入)技术,实现应用系统跨中心多活部署与容灾切换;如数据中心之间是传统二层(或大二层),利用总控层LTM设
图2 基于域名解析的双活应用部署
返回给WSC;
⑤WSC后续发起WSH访问请求,其直接与LTM设备发布的WSH服务IP地址建立连接,开始业务处理;
⑥LTM设备转发WSH服务请求至对应的后端核心服务器上,进行业务处理;
注:Weblogic服务器只能部署在任意一个数据中心内,不存在外部Weblogic服务器通过WTC服务连接数据中心内部的Tuxedo服务器的可能性。因此,WTC长连接请求将首先与本数据中心内部的LTM设备的WSH/WTC服务进行通信(WTC的报文传输通信基于Weblogic的域配置)。
⑦LTM设备对WTC连接转发到后端Tuxedo服务器的WTC服务端口上,并开始数据传输;
⑧当本中心后端Tuxedo服务器的WTC服务不能正常对外服务时,本中心LTM设备启用备用策略,将请求转移到另一个数据中心核心服务器的WTC端口上。
(二)IP地址访问的应用双活部署实现
如果WSC不能支持DNS查询,则可通过IP访问方式实现Tuxedo中间件核心系统的双活部署。
1. 三大要点
实现基于纯IP访问环境的双活部署使用了F5公司
备的“n+M”集群技术,实现应用系统跨
中心多活部署与容灾切换。
三是单一数据中心的LTM设备不间断地对Tuxedo服务器服务情况进行健康检查,总控层LTM设备对各数据中心内部LTM所发布的Tuxedo服务进行健康检查,并根据健康检查结果调度应用请求至不同数据中心。
2. 具体的业务处理流程
在完成组网后,具体的业务处理流程如图3所示。①WSC发起WSL请求至总控层LTM设备所发布的WSL服务IP地址,其根据各个数据中心内部LTM的WSL/WSH服务状态,将其请求分配至对应数据中心内部LTM设备的WSL服务IP地址上;
②单一数据中心内部的LTM设备的WSL服务根据后端Tuxedo服务器WSL和WSH的状态,将WSL请求分配至对应的核心服务器上,并从服务器获取WSH信息;
③WSC在获得WSH信息后,绕过总控层LTM设备直接访问后端各数据中心内部LTM设备所发布的WSH服务IP地址;
④各个数据中心内部LTM设备在获取WSH请求后,将请求转发至对应的核心服务器进行业务处理;
42
2017年·第6期
栏目编辑:梁丽雯 E-mail:liven_01@163.com
Research|技术应用完成模拟交易报文的封装,然后通过进程间通信执行该模拟交易并获取交易返回情况。利用LTM设备可编程特性,远程调用该进程执行模拟交易并获取模拟交易的返回信息,进而获取核心服务器的对外服务状态。
五、结语
由于银行业基于Tuxedo的核心系统较多,且核心重要性极高,建设和改造难度大,迫切需要在最小的改造难度下尽可能提高整体业务可用性。本文探讨了在一种借助
图3 基于IP访问的双活应用部署
⑤Weblogic发起的WTC通信过程与基于域名模式处理方式一致。
应用交付设备,通过修改Tuxedo配置文件
而实现基于Tuxedo的核心系统的多数据中心双活部署的具体实现方式,并在基于域名解析访问和纯IP访问的条件下,分别提供了一种经过验证的部署模型。FTT
参考文献:
[1]张慈湑,廖维娅. 基于Tuxedo的银行核心系统负载均衡研究[J]. 金融科技时代,2016(11):35-38.
[2]梁军科. BEA TUXEDO服务器应用地址映射的分析与配置[J]. 山西通信科技,2005(1):3-6.
[3]汤琼,李志敏. 基于TUXEDO的分布式应用系统的设计与实现[J]. 福建电脑,2009(8):130-131.
四、双活部署后应用系统的健康检查实现
在多数据中心部署双活Tuxedo核心系统时,对核心系统的健康检查非常重要。通常,Tuxedo通信自身带有加密功能,而且其协议编码较复杂,因此健康检查主要通过两种间接方式实现。
(一)通过Tuxedo服务自身API的外挂守护进程进行健康检查
Tuxedo提供的状态检查CLI命令,通过编写Shell脚本调用这些CLI命令获取Tuxedo中间件当前的处理能力,进而判断核心服务器的对外服务状态,由于LTM设备具备很强的可编程能力,能够远程调用这些Shell脚本,从而获取核心服务器的实际应用运行状态。
(二)通过Tuxedo服务外挂守护进程模拟交易进行健康检查
在Tuxedo核心服务器上新部署一个守护进程,守护进程包含一个简易的WSC客户端,由该客户端
43