多年来国内商业银行的核心系统主要采用集中式架构,随着银行内外部环境变化和业务发展,传统核心系统存在扩展性不足、拥有成本过高、运维管理风险高等问题,推动各行加速探索分布式转型路径。本文提出全分布式核心系统的架构和路径,为金融机构新一代核心系统规划建设提供参考。
新形势下核心系统建设的新思路
近年来,金融机构为应对复杂多变的内外部环境,积极实践数字化转型,并将分布式架构改造作为重要举措。分布式架构转型,尤其是核心系统的分布式改造,是商业银行转型升级的重要抓手。
1.核心系统分布式转型契合安全可控要求。我国金融行业长期依赖国外进口基础软硬件,在最高层提出维护国家金融安全的整体要求下,金融机构迫切需要逐步采用安全可控技术降低风险。2019年,人民银行发布《金融科技发展规划(2019-2021)》,将“安全可控”作为金融科技发展的指导思想,将建立加快分布式数据库研发应用列为重要发展方向。而近年来互联网厂商在自主研发方面发展较快,为金融业全面实现分布式架构转型奠定了良好的基础。
2.分布式核心系统是金融数字新基建的关键点。2020年4月,*政治局常务委员会提出推动新型基础设施建设的要求,着力建设信息基础设施、融合基础设施和创新基础设施。核心系统是各金融机构、交易、清算、结算等场所得以顺畅运行的关键系统,分布式核心系统建设是构建新一代安全高效的产业融合基础设施的重要举措,也是新基建中最具挑战的任务。
3.分布式核心系统建设拉动产业生态建设。银行核心系统,对软硬件产品功能、性能、稳定性、安全可靠性等要求极为苛刻。由于核心系统连接各类外围应用,对相关技术和产品的适配性,以及技术服务能力体系也提出较高要求,因此,能够带动产业基础技术与产品的研发、应用、服务等一整套产业生态链的服务能力。此外,此类工程实施没有先例可循,需金融机构、金融科技公司及相关各方协同探索,形成最佳实践,并逐步沉淀形成新一代自主可控分布式核心架构与技术标准。
全分布式核心系统架构及其特点
全分布式架构是从前端服务、应用服务到后台数据库全部无单节点、可横向弹性扩展的分布式技术体系。
1.全分布式架构的核心理念是业务单元化。“单元”是指一个能完成所有业务操作的自包含集合,即包括各业务所需的服务和数据。单元作为部署的基本单位,可进行单元化流量封闭。单元化架构在分布式架构应用拆分和数据拆分的基础上可以有效解决单机房数据库连接限制、异地多活、容量预估和灰度发布等一系列问题(见图1)。
图1 单元化结构示意图
2.全分布式总体架构。该架构以“中台化+轻前台”的模式替换“瘦核心+大外围”的模式,对业务域的功能进行归纳、抽象,整合成符合业务语言的能力组件,将产品的生产过程从产品设计、系统架构、研发流程进行全链路的升级转变。可根据业务诉求快速组装出符合其要求的服务能力,降低试错成本,提供个性化服务。
该架构(见图2)将核心系统封装成三个服务平台:
图2 总体架构图
(1)资金平台保证事务一致性。该平台包括存款、贷款、理财、权益等多种核心业务,封装账务、清算、核算等原子能力,向上对业务产品层提供统一的资产处理服务;通过资金交换发起分布式事务,保障资产交换过程中的事务一致性。
(2)客户平台统一客户管理。统一定义客户、管理客户信息、身份识别、认证授权,具备360度客户视图信息模型,为基准客户洞察提供基础支撑。
(3)产品平台实现客户与产品的连接。将产品要素及处理流程抽象形成产品模型,提供各种产品的灵活定义及配置组装能力,将产品信息提供给业务产品层以及核心层的应用。具备定制化签约的能力,提供全局性的统一合约视图。
3.全分布式中台化架构的优势。具体如下。
(1)快速创新与试错。通过标准化业务建模、标准化能力和服务设计,抽取金融服务的核心要素沉淀在中台,构建全行级中台能力地图和业务全图,支持前台业务的快速迭代。
(2)隔离风险支持敏捷迭代。功能快速迭代时,可以通过流量调拨,在小规模生产流量范围内充分验证新版本后,再逐步扩大发布范围。发布过程中如验证有问题,可以及时回切,减少发布变更影响面。单元流量封闭逻辑隔离能力,可以隔离新老单元间调用,避免新老应用交叉访问兼容性问题。
(3)弹性扩展快速应对流量变化。单元化架构能实现无限弹性扩容,支持按单元进行全链路压测,便于容量预估,按单元进行应用和数据的弹入弹出,可灵活调配流量。数据库只需承载本单元的应用节点的请求,大大减少了数据库连接数,突破了单数据库连接数瓶颈不考虑机房限制的前提下,数据库可以无限扩展。
(4)全业务异地多活。业务按单元分散在多地域的多个数据中心数据进行水平拆分,通过采取自选举数据库,保证数据分片有同城和异地副本,灾难时支持自动切主,RPO可以实现等于0。自动化容灾平台可对接多产品的容灾切换和恢复操作,实现容灾过程自动化。
实践与思考
近年来,阿里云以分布式计算框架和分布式数据存储为基础,支持金融机构用户构建新型全分布式架构体系,能够以低成本,快速应对亿级用户数和PB级数据量的应用场景,在多家股份制商业银行、城商行和保险公司得到了验证,成为核心系统演进发展的最佳实践。
一是显著提升处理性能。某大型城商行,在互金平台上使用了“分布式中间件+分布式数据库”,达到99.99%的高可用效能,吞吐量提升到4000+TPS(吞吐量),弹性伸缩率提升100%,单账户成本下降至原来的1/5~1/10,日投放量从万级别增加到亿级别,为该行的普惠金融业务做出了巨大的贡献。
二是有效保障数据一致性。OceanBase数据库通过分布式引擎实现Paxos多数派协议和多副本特性,实现跨机房、跨地域部署,实现金融级可用性和事务的强一致性。支持多个数据库节点的读一致性(readconsistency)能力。中间件层面,支持多种分布式事务模式,蚂蚁金服TRaaS(技术风险防控服务)组件能够提供全链路资金一致性保障,提供小时级、分钟级和秒级的旁路核对能力。
三是构建开发运维一体化管理平台,实现数据化运营。为某保险公司的核心系统构建一站式智能研发平台,封装了持续交付、智能IDE、代码托管、配置变更、流程中心、项目协作、测试服务、洞察分析等功能模块,覆盖软件研发的各个阶段,兼具开放可扩展、灵活可配置的特性。
结合行业实践,建议各金融机构在建设分布式核心系统中,重点关注四个方面。
一是技术前瞻性。业务快速发展需要先进、稳定、高效的技术支撑,采用单元化全分布架构,能按需进行单元化组装与复制,构建弹性扩展能力。并支持跨地域容灾和异地多活。
二是以平台化思路满足业务多样性需求。中台化技术支持新核心能够服务于更为多样的处理需求,更为快速地支持业务变化。
三是合理评估风险,优先保障工程质量。核心系统是一项复杂工程,需综合评估单点风险和整体风险。各层次解耦在一定程度上能够降低技术路线更换的风险,但不同技术体系组合在适配性、性能调优、问题处置等方面同样存在风险,因此核心体系内选择相对统一的技术路线有助于控制项目复杂性,保证项目质量和进度。
四是选择能够长期共同发展的合作伙伴至关重要。成熟的服务商应能够提供经过充分检验的产品、适应行业特点的实施工艺,以及标准化的运营管理流程。多层次的合作除了有助于项目实施外,还将有助于形成配套的管理运营机制,推动业务模式创新,培养出一支强有力的技术服务队伍。