从1995年10月全球第一家网上银行的诞生到现在不到20年,网上银行便已快速的蔓延到了Internet所覆盖的各个国家。从营业网点内部到全球的各个角落,具有互联网特性的网上银行顺利的冲破了一道道的空间枷锁。"央行公布,2012年中国网上支付规模近700万亿元","工行公布,2012年个人网银客户过亿,工行成为国内第一电子银行;电子银行业务占全部业务量之比已超过70%,电子银行已成客户首选渠道","招行公布,传统银行的经营成本占经营收入的60%以上,而网上银行运营成本很低,网上银行对柜台的替代率已经超过80%"……根据国内各家银行数据表明,网银系统的建设已成为其未来发展的标志性工程。因此,网银系统的可靠性、可扩展性,以及用户的使用体验都异常的关键。
早期,各家银行的网银系统主要依附于主业务数据中心,通过本地Internet出口实现全国用户的接入。随着用户规模的扩大、运营商的拆分(南北方运营商网络互访存在瓶颈)、行业监管的安全、可靠性、业务种类的增加等要求,以及各银行网银系统在经历了2011年、2012年淘宝"双十一"促销活动的挑战后,目前已有大量银行在建或建成了两个互为分担的网络上银行系统(简称网银双活系统)。
一、 网银系统建设模型
根据网银的发展历程、用户的管理需求、技术的发展趋势,网银建设可分为四种方案模型(如表1所示),方案的性能、可靠性、资源利用率依次提高。可以看出,网银双活是目前较为实际的部署方案,也是当前的建设热点。但不论是网银双活还是分布式多活,其主要目的都是将部署在多个数据中心内的网银容灾系统最大程度的应用起来,这样既可以避免因单一业务环节的故障而引起的漫长恢复时间,又可以使整个业务系统具有更好的计算与访问性能,提高资源利用率。
二、 网银双活方案的实施范围
从网络架构上看网银系统分为四个区(如图2所示):互联网接入区、DMZ区、网银业务区、内网服务器区。由于网银方案是一个涉及网络、系统、应用、数据库、安全等多组件的系统工程,因此网银系统的双活需要各个组件的双活与配合才能真正实现。
图2 网银双活系统架构
数据"双活"主要由数据库和存储组成,网银数据库一般分为以下三类数据。
信息服务数据:主要是银行通过互联网提供的最基本的产品和服务,包括存贷款利率、外汇牌价查询,投资理财咨询等。
客户交流服务数据:包括电子邮件、账户查询、贷款申请、档案资料(如住址、姓名等)定期更新。
交易服务数据:包括个人业务和公司业务两类,这是网上银行业务的主体。个人业务包括转账、汇款、代缴费用、按揭贷款、证券买卖和外汇买卖等;公司业务包括结算业务、信贷业务、国际业务和投资银行业务等。
前两类数据主要是一些静态数据,实时性要求不高,可以进行双活部署。第三类数据为实时交易数据代表了网银系统的核心业务,其对数据的一致性、准确性要求高、对传输延时敏感,因此为了提高客户体验、受技术上的限制确以及保证数据的完整性,类型三的数据系统一般只进行同/异步复制[1]而不进行双活部署,即网银的核心业务数据层不做双活部署。
网银双活实际上是指网银的前端接入网络和后端Web、APP服务器的双活,其中应用系统的双活要求业务系统本身必须支持双活应用,未来如果实现分布式多活,应用系统需要支持虚拟化计算环境。前端网络则可以通过域名系统+负载均衡和通用的网络路由技术实现网络双活,因此以下将针对"互联网接入区"、"DMZ区"、"网银业务区"的网络和业务系统进行说明。
三、 网银双活系统部署实践
大型银行通常有两个或两个以上数据中心,数据中心之间采用千兆以上高速连接,网上银行为数据中心的一个业务模块。通常情况下,网上银行的系统建设有两种部署结构,初期建设时采用单站点结构,进一步完善后则采用多站点结构,即常见的网银双活结构,以下以某银行为例进行部署说明。
1. 网银双活系统中的业务流逻辑
操作一笔网银业务通常要经过Web、APP和DC三个层次,当部署为网银双活系统后,因为每个层次间的互访都可以实现双活,因此网银双活系统中的业务流程具有多种逻辑,不同实现方案各有优势(如表2所示)。
上述模型方案的选择往往取决于银行的管理目标。其中逻辑一便于管理,而逻辑2、3资源利用率高,技术相对复杂,比如:两站点的Web、APP服务器网络通常需要进行DCI互联,DCI网络的工作层次需要根据具体业务需求而定,因此数据中心间L2 DCI互联技术(如EVI)是一个较好的技术储备。
2. 网银系统整体网络架构与关键组件
图3 网银系统网络架构
(如图3所示)某银行双活网银方案由两套独立的网银应用系统组成,每套网银应用系统工作在不同的数据中心,主要功能和所需组件如下。
互联网接入区:通过Internet线路完成网上银行用户的网络接入功能,该区域部署广域网接入路由器,实现多ISP的多条Internet线路接入;
DMZ区:主要提供Web服务。
部署外网边界防火墙和IPS,实现互联网与DMZ区隔离。,IPS为透明模式,FW工作在L3模式,与路由器、DMZ区交换机采用静态路由互通;
部署DMZ区交换机,完成本区域内所有设备的互联互通。在本案例中DMZ区交换机采用了1:N的虚拟化技术[2],将一台物理交换机虚拟为2台交换机,分别工作在DMZ区和网银业务区。。
部署网银Web服务器、门户Web服务器,RA服务器,接入到DMZ区交换机;
在所有网银站点分别部署DNS、GSLB(跨站点的GSLB均属于一个同步组)承担网银域名智能解析,并部署LLB(链路负载均衡)确保来回路径一致。该组件是业务双活关键;
部署SSL卸载&SLB(服务器负载均衡)设备,以两台为单位采用主备模式部署,优化业务响应速度并保证Web业务高可用性,SLB作为Web服务器的网关,SLB与DMZ交换机通过策略路由通信。
网银业务区:主要提供网银业务的应用处理。
部署Web-APP边界防火墙,实现DMZ与网银业务区的隔离,FW工作在L3模式,与DMZ区交换机、网银业务区交换机采用静态路由互通;
部署两组网银业务区汇聚交换机,第一组汇聚交换机通过1:N虚拟技术实现网银互联网出口和DMZ区的汇聚,第二组汇聚交换机为网银业务区APP服务器的业务汇聚。另外,部署网银业务区APP服务器接入交换机,实现网银各APP服务器的接入;
部署电子银行交易应用服务器(业务系统支持双活是网银双活的前提)、网银DB服务器、验签服务器;
部署内网边界防火墙,实现网银业务区与数据中心内网服务器区间的隔离;
数据中心内网服务器区:包含多个业务区,主要为网银APP服务器或网银DB提供数据服务。
部署个人核心账务主机、对公核心账务主机、ESB服务器等;
采用"核心-边缘"分区模块化架构,各服务器区围绕网络核心区部署,各服务器区与网络核心区之间通过防火墙做访问控制。
3. 互联网接入区网络双活实现
该银行在两个站点的网银系统分别部署联通和电信Internet线路各两条,每条线路带宽1G,每个站点的四条主流运营商线路中有一条作为重点保障线路,要求运营商确保其到境内外主流运营商的服务质量。
图4网银双活接入区部署
(如图4所示)每个数据中心网银系统均租用若干条Internet线路,互联网接入路由器对Internet或对内网均采用标准的静态路由协议互联,路由器将网银系统申请的公网地址发布到公网中,从而使任何一个公网用户均可以获取到两个数据中心的路由信息,实现两个网银站点的接入网双活,但是,这并不代表双活的网络可以同时服务于一个业务,更不能代表业务可以双活,只有再结合GSLB的动态地址解析技术,实现用户的智能选路,才能使数据中心的网络流量均衡化,网络双活才有意义。
4. DMZ区与网银业务区业务双活实现
网银DMZ区主要部署存放和管理Web网页内容的Web服务器,对外提供客户交易页面,进行基本的静态信息传递服务,并管理业务信息系统的相应网页和其他银行信息的发布。Web服务器承担大量的Http、Https等请求,大型网银系统每个站点都会达到数百台Web服务器,因此Web服务器前需部署SLB设备。
网银业务区主要部署包含所有网银业务的APP服务器(如会话管理、提交后台处理以及向Web服务器提交应答页面等)。APP服务器支持ASP、JSP等服务器端应用,与Web服务器共同构成网银业务(如网上支付与结算、网银转帐、基金交易、网上理财等)应用系统的运行环境。。
图5 DMZ区与网银业务区业务双活部署
(如图5所示)DMZ区与网银业务区双活实质上组成了网银业务的双活系统,两个数据中心的网银系统均可以同时独立对外提供服务,但具体由那个站点提供服务则由网络路由决定,因此使用户到服务器的访问缺少了灵活性。为了使用户动态访问到不同站点的相同业务,则需要在DMZ区部署DNS、GSLB技术,通过域名和IP地址的动态映射关系实现用户到不同站点的智能选路与业务双活功能。
1) 域名解析流程
图6 域名解析流程
如(图6所示)为客户端向LDNS(Local DNS)发起到网银域名解析请求(即数据流①)后,LDNS会向双活中心1或者双活中心2的网银域名解析系统发起域名解析请求。网银域名解析系统根据用户访问的域名地址决定该解析响应是否授权给GSLB处理。
GSLB接管授权域名的解析工作,负责选择最优服务站点,并将该站点的详细域名和IP地址反馈给请求用户。
图7 域名与地址解析关系
双活中心1、2的所有GSLB在对xxxbank.com域名进行动态解析时,会通过判断DNS解析请求的源地址,对于双活中心1的源地址优先在双活中心1相应运营商地址内部实现解析,对于双活中心2的源地址优先在双活中心2相应运营商地址内部实现解析,对于其他运营商的源地址优先在双活中心1重点保障线路地址内部实现解析;当双活中心1某运营商线路全部中断时,会自动在双活中心2相应运营商地址内部实现解析。
完成地址解析后,用户将直接通过路由实现到双活中心1或者双活中心2站点的业务访问(数据流②)。
2) 域名设计与双活
(如图8所示)双活网银系统的两个站点有不同的域名(如bj.xxxbank.com,sh.xxxbank.com),且不同的业务具有不同的域名,每个域名对应不同站点以及不同的IP地址。
图8 域名设计
当用户访问网银时,GSLB则根据轮询法判断提供服务的最佳站点,并将该站点服务对应的IP地址反馈给该用户,从而实现了用户访问的目的IP地址动态化,使网银的网络和业务实现双活。
在本系统中,GSLB与SLB是实现用户动态选择IP地址的关键技术,SLB保存Web服务器负载状态,所有GSLB为一个同步组,并定期同步所有SLB数据库,了解服务器工作状态,当接到用户请求后,GSLB将最佳的服务器地址反馈给用户。
前述主要介绍了internet用户访问网银的方案,在实际应用中,还有银行网银系统为内网银行内员工提供访问,其方案实现与外网原理和所需设备基本一致,但域名设计方面应区别于外网域名。
5. 方案关键技术点总结
上述方案需要涉及大量不同的类型的设备互联互通,因此网银双活的基础是标准化。
网银双活方案中的网络双活没有借助特别的技术,只是将提供网银业务的IP地址发布到网络中,并保证了用户可以从多个网络入口进入到网银系统并访问到这些业务。
在网银业务双活方面,由于两个站点采用了不同的IP地址段,传统网络无法实现用户到多个IP业务段的灵活对应,因此必须在用户和业务服务器间部署DNS、GSLB、LLB、SLB技术,从而实现网银业务的智能交付。目前,DNS、GSLB、LLB、SLB在全球具有广泛的应用,均基于标准的IP技术,是实现网银双活的关键。
需要额外说明的是,为了提高网络设备利用率、消除FW配置策略路由、使汇聚交换机参与核心层路由计算,方案中使用了1:N虚拟化技术(如H3C MDC),该技术在交换机内部实现,不涉及和异构产品互联互通私有化的问题,并且该技术与网银双活没有直接关系。
四、 结束语
双活网银系统基于其自身的服务性能、与用户的距离、连接速度等因素来决定由哪一个站点的业务系统和接入网络提供服务。网银双活是迄今为止最成熟的双活应用模型,该模型不仅应用于互联网场景,同时也应用于内网,为银行未来的数据中心双活模型奠定了可行的实践基础。双活可以大幅度提升数据中心资源利用率、服务响应能力以及系统可靠性,但也是一个技术难度高、逻辑负载的系统工程,建议企业在进行双活数据中心建设时尽量采用标准化程度高的技术与产品,循序渐进的建设。