光大银行以应用级双活为负载减压
- 来源:中国计算机报 smarty:if $article.tag?>
- 关键字:光大银行,减压,信用卡系统 smarty:/if?>
- 发布时间:2014-05-29 09:40
以前,光大银行的信用卡系统建设采用的是全外包方式。2011年11月,光大银行计划自己建设信用卡系统。为了确保系统的稳定、可靠和安全,光大银行决定建立双活的信用卡代授权(前置)系统,并为此做了长时间的调研。之后,在惠普公司的协助下,光大银行用9个月时间完成了系统的部署。
中国光大银行信用卡中心技术部总经理李铁成告诉记者:“这是国内银行系统第一个双活的前置系统。系统自上线到现在,没有出现过一次业务中断。”
应用级双活
银行在确保信用卡系统安全、可靠的基础上,希望IT厂商能够提供满足其个性化需求的全面解决方案。中国惠普有限公司中国区副总裁兼企业集团关键业务服务器系统部总经理樊瀛介绍,面对IT新形态的挑战,惠普可以为金融行业用户提供包括双活容错前置系统在内的应用现代化解决方案、融合云解决方案、风险管控和合规解决方案、移动化解决方案,以及大数据解决方案。
“不管是客户还是银行领导,对银行系统的稳定性和可用性的要求都越来越高。”李铁成回忆说,“在确定自建信用卡系统后,我们就提出一定要改变传统做法的策略,从整个系统体系结构的角度来建设IT系统,构建双活系统,一方面减轻负载处理的压力,另一方面保证系统的稳定、可靠。为此,我们从技术方面进行了多次论证,认为构建一个双活的前置系统是可行的。两年多的应用实践证明,我们当初的决策是正确的。”
典型的信用卡体系分成前端、前置系统和后台的核心系统。以前,比较流行的双活体系架构都是系统级的,其不足之处在于:两个系统之间的距离不能超过30公里,只能做同城的解决方案;系统虽然有两套,但数据只有一份,当数据本身出现问题时,可能会造成业务停滞,还需要建立远程数据备份;这种方案的构建成本通常较高。
光大银行构建的双活信用卡前置系统是应用级的,前置的两台服务器可以同时处理数据,并且每一台服务器上存储的数据从应用角度来看是一模一样的,但两台服务器上的两套数据库彼此是完全独立的。“这套双活系统的同步机制完全是基于应用的。我们没有用采用任何操作系统或数据库同步技术,而是从应用的角度来分析业务,进而决定哪些数据需要在两套系统间同步。”李铁成介绍说,“两台服务器上的数据库从理论上来说是没有关系的,数据也是两份,不会发生因一份数据出现错误而影响另一份数据的情况。”
硬件可靠是前提
光大银行双活信用卡前置系统的硬件平台选用的是HP NonStop服务器,其硬件、操作系统和系统软件均无单点故障,是容错级别的。HP NonStop服务器的所有部件都采用N+1冗余,在并行工作的同时互为备份。所有的系统维护、部件更换(包括CPU)、系统升级和扩充都可在线进行,无需停机。
此外,HP NonStop服务器还具有大规模并行处理能力(MPP),基于非共享体现结构(Share Nothing),单一系统可从两个CPU插槽扩展到4080个插槽。HP NonStop服务器可处理大量OLTP和数据库批量作业,且具备自动负载均衡能力,完全能够满足光大银行信用卡系统对性能和扩展性的要求。
“我们之所以选择HP NonStop服务器,首先是因为我们与惠普公司拥有多年良好的合作关系;其次,HP NonStop服务器是一套真正的不停机系统,其硬件、操作系统、数据库、应用都经过专门设计和优化。HP NonStop从硬件底层满足了我们对高冗余、高可用性的需求。我们的应用软件也是针对冗余的硬件架构设计的。”李铁成举例说,“我们的一些应用软件要确保数据可以同时在两个CPU上运行。当其中一个CPU损坏时,HP NonStop会自动发出警示,而其他服务器没有这一功能。”
樊瀛介绍说,HP NonStop服务器已经用于全球70多个国家的500多个客户的前置系统中,涉及多个行业的不同应用。
像光大银行这样采用双活前置系统的即使在国外的银行中也比较少见。因此,光大银行在部署双活前置系统时面临的一大困难就是没有成功的经验可以借鉴。“我们在内部论证这个项目时,质疑的声音也很多,很多人对做成这件事没有把握。”李铁成补充说,“以前,银行在做IT系统时比较依赖厂商,通常愿意采用成熟的解决方案。特别是在前置系统方面,很多银行还是希望按照传统的思路建一套操作系统级的双活系统。我们成功地构建了应用级别的双活前置系统,做成了别人没有做过的事。我们的成功经验是坚定信念,克服困难坚持把事做到底。”
主动切换
传统的高可用系统通常采用一主一备的方式,当生产中心系统发生故障时,系统可以切换到灾备中心。虽然技术上可以实现系统的自动切换,但实际上很多用户并不敢在生产中心系统出现故障时第一时间将系统切换到灾备中心,因为很多时候这种切换并不成功,反而给用户带来很多麻烦。
光大银行的双活前置系统则可以真正实现双活,即可在北京和上海两地的数据中心之间随意切换。虽然光大银行在两个数据中心之间做系统切换的频率不高,但很多时候需要主动进行切换。比如,北京数据中心的设备需要维护或测试时,光大银行就主动地把应用系统切换到上海的数据中心运行。“对我们来说,这种切换非常容易。”李铁成介绍说,“如果出现故障后还要先由人来辨别、决策,然后再切换,这中间肯定会耽误一些时间,不能保证系统的持续运行。而在我们的双活系统中,如果检测到北京数据中心的数据传输不通,系统就会立刻自动将数据传送到上海的数据中心。”
但是,双活系统的构建也是有一定门槛的。李铁成归纳了几条实现系统高可用性的经验:首先,要对自己的业务需求做一次评估,明确对系统可用性或稳定性的要求,如哪些业务一定要用高可用的系统来保护;其次,要认识到采用双活机制可以节省大量资源和成本,提高设备的利用率,轻松应对业务高峰;最后,提高系统可用性要从整体架构考虑,包括可靠的底层硬件平台、双活的技术架构,还有上层软件等。
“硬件如果三天两头出问题,双活的效果就会大打折扣,这也是我们为什么选择HP NonStop服务器的原因。在拥有一个可靠的硬件平台的基础上,企业还要选择一个合适的同步软件。”李铁成强调说,“用户必须了解自己的应用需求,如果数据量太大或对传输带宽的要求太高,就不一定要上双活系统。”
樊瀛表示:“在做双活架构的时候,用户要考虑的不仅仅是硬件层面的问题,还要通盘考虑包括操作系统、数据库、中间件和应用等在内的多个方面的问题,光大银行就是一个典型的例子。在整个架构设计的过程中,惠普将配合客户的需求,提供从技术架构、产品到解决方案的全方位服务,同时还充分借鉴国外的成功经验,借助全球技术专家的力量。”
从一主一备的方式到完全的双活系统,不仅系统的可用性大大提高,而且原来闲置的资源也可以得到充分利用,工作负载可以在两个数据中心里得到均衡,整体拥有成本也随之降低。光大银行已经享受到了双活前置系统带来的种种益处,并准备下一步将后台的信用卡核心系统也做成双活的方式。
本报记者 郭涛