技术热点银行核心系统采用互联网分布式架构的可行性研究
Posted 金融IT圈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术热点银行核心系统采用互联网分布式架构的可行性研究相关的知识,希望对你有一定的参考价值。
银行核心业务系统是支持银行业务营运的关键系统,是一个能实时处理海量并发交易的信息系统,拥有一个安全、可靠、灵活、敏捷、扩展性强和不间断运行的核心业务系统是银行增强核心竞争力的有力保障。
当前,各大型国有商业银行均采用IBM 大型主机构建核心业务系统,主机集中式架构具有集中、专有、封闭等特点,系统软件和工具由IBM、BMC、CA 等美国公司所掌控,主机高昂的构建和运维费用仍然是银行IT 投入的大头。
与此同时,蚂蚁金服、腾讯等互联网企业则走出一条完全不同的技术路线,他们采用X86 开放平台、开源软件构建了云计算平台。在此基础上建立了新的分布式联机交易处理架构,可以处理海量并发支付交易。支付宝“双十一”秒杀促销活动和腾讯微信春节“摇一摇,抢红包”活动均创造了单位时间并发交易量远超各大国有商业银行的单位时间交易量峰值的奇迹。该架构并不遵从X / Open XA 分布式事务管理协议,在这里为叙述方便姑且称为互联网分布式架构。随着互联网金融的迅猛发展,互联网分布式架构得到不断应用、优化和完善,技术逐步成熟,并体现出与主机集中式架构相比在运行风险控制、可扩展性、敏捷开发、灰度发布和总拥有成本等方面的优势。笔者认为,国有商业银行采用互联网分布式架构替代主机集中式架构开发构建核心业务系统势在必行。
一、银行核心业务系统面临的困难和挑战
近几年银行核心业务系统的规模急剧扩大,面临的运行风险、困难和挑战日益增大。具体体现在以下几方面。
第一,运行要求日趋严格。银行业务部门和上级监管部门对银行核心业务系统运行提出更严格的要求,银监会监管规定,涉及客户服务的业务停机超过30 分钟要上报银监会。
第二,变更风险越来越大。为了更快速响应业务部门的需求,系统变更和应用上线频繁,控制变更引起的运行事故是一件艰难的事情。为了避免变更停机影响客户服务,还要进一步缩短新业务上线和系统变更、维护的计划停机时间。
第三,数据库运行压力突出。核心业务系统的基础设施特别是数据库越来越大,已没有厂商和国外同行的经验可以借鉴,需要“摸着石头过河”。经常会遇到一些小概率的“首发故障”,高度集中的数据库一旦发生故障将导致全行停业。
第四,常态化的“秒杀”是个大麻烦。以前核心业务系统业务量的增长是有一定规律的,而现在银行发布的高收益低风险的理财产品同样可以形成“秒杀”。“秒杀”时系统要处理的业务量是平时的十几倍甚至几十倍。如果按照“秒杀”时的业务量来配置资源,平时利用率很低,必然造成极大浪费。如果要求平时资源利用率较高,“秒杀”时必死无疑。
第五,成本的压力。基于主机的银行核心业务系统总体拥有成本远超X86 分布式处理系统。随着利率市场化越来越近,谁拥有更低成本的IT 技术谁就更有竞争力。前海微众等互联网银行的设立无疑将倒逼国有商业银行降低IT 成本。
第六,技术选择上受制于人。IBM 大型机对我国的几大国有银行形成了“事实上”的垄断,从小的方面来说,国有商业银行已经失去了议价能力;从大的方面来说,已经危及国家安全。因此,出于国家安全和银行降低IT 成本的双重要求,急需寻找创新解决方案。
二、银行核心业务系统采用互联网技术替代传统技术的可行性
互联网公司应用云计算和分布式处理架构取得的成功,为国有商业银行解决核心业务系统面临的困难和挑战提供了全新思路。互联网分布式架构的核心思想是在低成本、标准化的开放硬件和开源软件的基础上,通过分布式处理架构实现系统处理能力的无限扩展;采用数据复制、多副本、读写分离等技术弥补基础软硬件的不足,满足系统高性能、高可用和容灾备份等方面的要求;并采用了分布式中间件或分布式数据库实现联机交易处理的一致性等事务管理要求。企业在实施云计算和分布式处理架构过程中选择性地应用、消化、吸收开源软件,并根据自身的业务特点形成自主可控的技术路线和技术架构。鉴于互联网企业在云计算开发和应用领域保持着较快的发展速度,取得了一些宝贵成果,商业银行可以借鉴互联网企业的发展经验,采用云计算和分布式处理架构构建新一代的银行核心业务系统。
互联网分布式架构是否能够用来替代传统的主机集中式架构开发构建银行核心业务系统取决于以下几个方面。
第一,系统的最大峰值交易处理能力。各大国有商业银行之所以无一例外地采用IBM 大型机构建核心业务处理系统就在于数据集中后需要的最大峰值交易处理能力太大。互联网分布式架构中,采取负载均衡技术,应用服务器的处理能力已经无任何限制,系统的峰值处理能力取决于数据库服务器,数据库服务器采取数据读写分离、数据多副本、分库分表等技术实现了交易处理能力的无限扩展。结合云计算技术实现资源的池化和虚拟化,从而实现资源的快速交付、动态伸缩,提高资源利用率。蚂蚁金服2014 年“双十一”秒杀达到了285 万笔/秒的峰值处理能力,而在2015 春节腾讯微信“摇一摇,抢红包”更是创造了8.1 亿笔/分钟的神话。而同期各大银行核心业务系统的峰值处理能力不超过1.5 万笔/秒。可以说,互联网分布式平台处理能力完全能够满足银行核心业务系统的要求。
第二,系统可用性。数据库是核心业务系统最薄弱的环节,IBM 大型机采用SYSPLEX 技术和软硬件高可靠性技术实现了数据库极高的可用性,但由于数据高度集中,虽然概率极小,仍然存在数据库逻辑故障风险。而分布式架构在高可用性设计方面采取了不同的思路,虽然硬件和软件的可靠性相对主机要低,但由于采用了数据多副本、分库分表等措施,数据库风险被分散了。试想一下,用许多并列的数据库,即使有一定频度的数据库故障,对整体业务的影响也是比较小的。由于每个数据库实例变小,单个数据库故障后的恢复时间也缩短了。另外数据还可以采取一定的策略分布,避免故障影响到某一区域的用户/客户,从而规避监管风险。
在缩短应用上线和系统变更维护引起的计划性停机时间方面,分布式架构更具优势。在传统主机集中式处理架构中,由于数据库是集中式的,变更维护启停时间较长,期间会引起全部的业务中断,另外直接在生产系统上发布和投产,变更差错风险较大。而在分布式处理架构中,可采取多版本的灰度发布技术,先在个别实例上发布投产试运行,待试运行验证成功后再推广到其他实例。即使发生差错,影响范围也较小,还控制了变更风险。在推广发布阶段,系统采取错开轮动的方式切换生效,每次影响的客户/用户也可以做到较少,客户/用户几乎感觉不到业务中断。
第三,系统的容灾备份。前不久工商银行采用IBM 大型主机GDPS 双活解决方案结合应用优化,成功实现了跨数据中心全球核心业务的分钟级切换运营。该双活方案是在两个数据中心之间同时运行着同样的应用并拥有同样的数据,在两中心之间可以智能地调度金融交易,当任何一个站点的系统在计划内或计划外停止运行时,其金融交易均可在分钟级内全部切换至另外一个中心对外提供服务。实际上,互联网分布式处理架构,采用数据库复制、同步、拆分、全局路由等技术也可实现交易系统的双活容灾备份。蚂蚁金服于2013 年9 月实现了支付宝同城双活部署,2014 年8 月实现支付宝异地双活部署,并经过了2014 年“双十一”海量交易的考验。蚂蚁金服的实践表明分布式架构在容灾备份方面的技术指标是可以达到金融监管要求的。
第四,系统安全性。IBM 主机由于其专用和封闭的特点,系统本身在一定程度上更为安全。因此,采用分布式架构的核心业务系统应该从网络、操作系统、数据库系统和应用多层面采取安全加固措施,包括链路和数据加密、身份识别、访问控制、数字签名、入侵检测、系统加固、审计跟踪等等,提高系统安全性。实际上,即使采用主机集中式架构,为了给主机减负,这些安全技术措施也已经从主机中移出。由于互联网分布式架构可采用开放硬件和开源软件实现,为国产化产品的采用提供了更多机会,有利于实现自主可控的目标,从而更好地掌控信息安全。
第五,交易一致性等事务管理要求。银行核心业务系统要求保证事务的强一致性,不同于社交信息处理、互联网信息处理、电商交易处理等可以容忍最终的事务完整性而不追求实时的事务完整性。实际上分布式处理架构在全局事务管理方面技术也是成熟的,采用分布式中间件、分布式数据库和补偿交易、延时控制等应用优化相结合的方式也能达到交易一致性等事务管理要求,只不过要增加一些应用的复杂性。
第六,运维管理的自动化。互联网分布式架构增加了系统的复杂性,设备和系统的数量也大大增加,无疑增加了运维工作的复杂性和工作量,因此应采用云管理平台等工具系统提高运维管理自动化水平。互联网分布式架构可以整合各类自动化工具,实现配置管理、变更操作、清理维护等运维操作的全面自动化,提高了系统管理效率。可整合各类监控系统,建立运行事件和性能分析平台,实现性能分析诊断与调优、事件业务影响与风险分析、故障根源定位、故障自动处置、应急预案辅助等功能,从而控制运行风险。
三、国有商业银行如何实现核心业务系统的技术转型
采用互联网分布式架构替代传统的主机集中式架构开发构建银行核心业务系统在技术上是可行的,并且能解决银行核心业务系统面临的困难和挑战,大大降低了核心系统的总拥有成本,提高自主可控能力。但替代是一次技术路线的重大转移,国有商业银行实施技术转型过程中应该进行充分地学习研究、分析论证和测试验证,周密规划,稳步推进。
第一,提高认识,调整战略。要认识到进行核心业务系统技术替代的重要性和必要性,互联网金融技术“狼”真的来了,面对新的技术浪潮,要采取积极的应对措施,实施IT战略转型。银行需要从业务视角出发重新思考IT 和业务的关系,提高业务系统的敏捷性,实现业务和IT 的融合,在控制风险的同时,尽可能“多、快、好、省”地为业务创造价值。
第二,虚心学习,奋起直追。面对互联网金融技术,商业银行经历了从“不屑一顾”到“不以为然”、从“警醒震惊”到现在“奋起直追”的过程。实际上,在云计算、大数据、移动计算和社交媒体等技术应用开发方面,商业银行已经落伍于互联网企业了,现在是放下商业银行采用主机“高、大、上”身段的时候了。商业银行应该虚心向互联网公司学习云计算和分布式处理技术,结合银行业务系统特点,采用云计算和分布式架构改造其核心业务系统。
第三,排除困难,大力推进。从技术上说,实施替代的难点在于同现有技术体系的融合,是全盘替代还是部分替代,替代项目的实施管理难度也很大。从管理上说,要充分认识来自方方面面的阻力,既有技术人员和业务人员因循守旧和技术偏好造成的抵触情绪,还有可能来自厂商及其代言人出于商业利益的阻挠、恐吓和游说。因此,替代工作需要获得上级主管部门、银行高层领导的大力支持,方能顺利实施。
第四,大胆设想,小心求证。既要看到云计算和分布式技术的巨大潜力与优势,也要重视可能存在的弱点和不足,特别是要充分评估对业务和客户体验造成的影响。认真对银行核心业务进行梳理和分析,识别银行业务相对互联网信息处理在交易一致性、安全性等方面的更高要求。对各种分布式处理技术进行充分的分析评价和测试验证,做好技术选型和架构设计。
第五,搞好试点,逐步推广。同引进各种新技术、新产品的过程一样,为了有效控制引入新技术的风险,国有商业银行替代核心系统也应经历先试点、后推广的过程。在试点过程中完善新平台技术架构,制订实施工艺和规范,形成开发和运行工具。特别要对云计算和分布式处理方面的开源软件进行学习、消化和吸收,组建一支技术过硬的互联网分布式架构开发队伍,为实现技术路线的全面转型做好准备。
分享金融IT圈里的事
聚拢金融IT圈里的人
以上是关于技术热点银行核心系统采用互联网分布式架构的可行性研究的主要内容,如果未能解决你的问题,请参考以下文章