基于多技术栈的银行核心系统建设——在保证安全生产前提下稳步推进分布式架构转型

VSole2022-07-25 13:48:15

项目背景

当今世界科技进步日新月异,科技已成为衡量一个国家核心竞争力的重要指标,提升核心技术自主创新能力已经上升为国家战略要求。与此同时我国银行业务正在迅猛增长,随着国家核心技术创新战略的稳步推进,摆脱数据大集中模式下的银行核心系统“大型机(主机)依赖症”、快速推动集中式架构向分布式架构转型,已成为当下我国金融行业IT系统建设领域亟待解决的关键课题。

中国建设银行作为国有大型银行,在全球拥有超过8亿客户,提供7×24连续不间断金融服务,在推进分布式架构转型过程中面临诸多问题与挑战:首先是在系统迁移过程中不仅要做到客户无感、对外服务水平不降低,而且还要完整承接现有核心银行业务功能,同步支撑新的业务需求;其次从目前国内IT实践来看,尚未有如此超大规模、高度复杂的应用移植成熟方案可供借鉴;然后是核心系统分布式架构转型是复杂的大型系统工程,需要跨部门企业级合作,涵盖多种技术栈的融合与替换,要实现的是“飞行中换引擎”,对实施工艺与跨部门协作提出了很高要求;最后与国外基础软硬件产品相比,大多数国产基础软硬件还处于爬坡阶段,产品成熟度还需要较长时间打磨,支撑大规模核心系统业务稳定运行的效果需要时间检验。

建设目标与总体技术方案

为避免因IT产品供应链风险引发系统性金融风险,中国建设银行锐意进取、迎难而上、统筹安排、周密部署,2019年启动了基于多技术栈的银行核心系统建设工作,建设范围涵盖存款、贷款、借记卡、信用卡、客户信息等原本运行在大型机上的核心业务领域全量业务功能。

转型后的多技术栈银行核心系统实现了多技术栈融合运行、分布式部署、模型化设计开发、全量并行验证、业务连续性保障等技术目标,满足了业务服务完整承接、持续拓展、体验友好、平滑切换的需求,为推进建设银行可持续发展提供了坚实的技术保障。

为了全面推进多技术栈银行核心系统建设,建设银行提出涵盖应用层、平台层、基础设施层端到端的体系化解决方案。首先提供企业级开发框架及分布式平台技术服务,分离非业务逻辑功能并在平台层统一实现和供给;然后通过分布式平台统一对多技术栈技术能力进行适配与封装,解决平台技术服务和底层技术栈升级、替换对上层应用的影响,保证应用专注业务逻辑开发以及开发效率和质量。

基础设施层:通过云计算平台屏蔽了硬件差异,为应用提供高可靠、高安全的多元弹性基础设施云服务,支持多技术栈管控。

平台层:通过搭建企业级分布式平台,基于研发框架统一应用开发模式,封装分布式、微服务、云原生等主流基础技术,解耦应用对底层技术的直接依赖,支持核心系统分布式架构转型和多技术栈应用。

应用层:强化应用系统基础能力,适应多技术栈特点带来的技术和业务处理变化,使核心系统具备在多种技术栈上运行的能力。

应用层面设计采用开放与主机融合架构,支持渐进式切换,积极稳妥推进分布式架构转型,保证过渡期核心业务与数据完整性,涉及的主要组件包括如下。

应用路由:作为交易网关,实现所有联机服务接入、路由决策、路由分发等。

配置中心:存放路由决策服务配置、索引数据(客户编号、账号等)、部署信息等。

服务集成代理:自研服务集成代理框架,实现微服务编排、一致性保障等功能,支持不同单元采用不同技术栈。

微服务:单元化部署,与数据分片对应,支持不同单元采用不同技术栈。

图1 基于多技术栈的银行核心系统总体技术方案

主要创新点

在项目建设过程中,建设银行遵循“大胆创新、科学严谨、稳步推进、平滑投产”的建设理念,开创性解决了困扰跨技术栈应用移植的10余项技术难题,项目的主要创新点如下。

1.实现核心系统多技术栈的融合运行

项目采用分层设计、自研分布式平台、多技术栈融合部署等手段,实现了核心系统在商用技术栈、互联网技术栈与国产技术栈的融合部署,各技术栈均能支持核心系统稳定运行,形成了一条从商用技术栈到国产技术栈的平滑演进路径。

2.满足跨技术栈应用统一日切的要求

自研日切协调器,由分布式批处理平台控制各个部署单元,通过日切准备、日切执行两阶段机制,实现了多独立运行业务单元对营业日的同一时刻同一性要求,取得了集中式架构下统一日切的业务效果。

3.建立准实时强一致性保障机制

通过自主研发的分布式事务管理器和微服务组合驱动引擎的有效协同,建立了包含事中一致性(对服务组合场景提供了实时的多模式一致性处理方式,实现了跨技术栈单元的一致性保障)、事后一致性(建立了准实时和日终一致性保障处理机制,对事中一致性处理遗留的分布式事务进行进一步处理,最大化减少极端情况下需人工处理的工作量)的两阶段、跨技术栈的一致性保障机制。

4.支持多技术栈快速交付业务功能

基于自主研发的可视化设计开发工具进行设计,形成一套模型。基于模型结合不同技术平台的特性及规则,实例化自动生成多套不同语言程序代码。针对数据库表、内部构件、外部服务拆分成多个微服务单元,由服务集成代理对于跨库事务进行服务组合对外提供完整服务。解决了多技术栈快速交付业务功能服务的难题。

5.实现核心系统高可用和业务连续性保障

按照多可用区方式实现了同园区多机房部署,应用具备同城多活能力;在异地通过数据复制实现灾备环境部署,保障灾难场景下的业务连续性;通过自研应用路由实现配置化、动态化流量调拨和并行控制,支持业务流量在多技术栈环境下基于多要素的流量控制,全面支撑银行核心系统分批切换和并网业务处理。

6.形成“架构先行、平滑切换”的工程方法

“架构先行”:基于对投产风险的全面分析与评估,采用两阶段切换策略,先切换交易路径,从集中式架构向多技术栈融合架构进行切换,再按分行迁移数据,通过稳妥的试营业安排和双向白名单机制设置,实现非下移行和下移行的同步试营业,有效分解首次下移风险。“平滑切换”:探索出一种多维度(按客户、分行、业务与交易)的增量渐进式切换模式,在保持交易接口不变的前提下,按照分行级或客户级(最小)粒度进行切换,由分布式系统逐步对外提供单轨服务,对外围透明实现从集中式到分布式的平滑过渡。

图2 融合架构下银行核心系统应用架构框图

实施效果

本项目累计获得专利授权17项,其中信用卡——《面向金融行业的服务器软硬件应用关键技术研究》纳入国家重大专项“核高基”金融领域唯一试点。

从2021年3月开始,在实现全量双机并行验证基础上,建设银行信用卡、个人贷款、客户信息、对私存款与借记卡业务分批次单轨投产切换,投产后系统运行稳定,未发生业务一致性问题,系统各项运行指标满足业务需求。

1.双机并行验证

将分布式系统全量部署在生产环境,在不影响生产真实交易的前提下,将全量生产真实交易在分布式系统准实时进行模拟运行。为了检验系统的准确性,建设银行提出了“三真实、四比对、五验证”的核心系统异构并行比对方法。

“三真实”:使用真实的生产数据、生产交易、生产环境基础实施准实时运行。

“四比对”:比对主机和分布式系统的联机交易输出报文、批量文件结果文件、每日数据库增量返回、交易产生的会计分录等。

“五验证”:验证目标架构下的分布式系统的功能完整性、可靠性、稳定性、高可用性及高性能。

双机并行验证期间,分布式核心系统日均交易量4.4亿笔,TOP10交易平均处理时间57.99ms,压力测试峰值30000TPS,全面验证了分布式核心系统的稳定性和可靠性。

2.单轨投产运行

截至2021年底,建设银行对私存款借记卡(分布式)已在青海、宁夏两家分行投产运行,下移2000万账户;信用卡业务已全量运行在开放分布式平台,100万客户运行在国产技术栈平台,具备支持更多客户迁移至国产技术栈能力;个人贷款业务已完成境内业务全量运行在开放分布式平台;客户信息已完成境内外超8亿客户全量运行在开放分布式平台。

小结

通过本系统的建设实践,在国产软硬件产品仍在逐步成熟、缺乏可借鉴的成熟方案情况下,建设银行在国有大型银行中首家完成分布式核心系统架构转型,探索出一种大型商业银行核心系统架构转型的新模式,渐进式实现了核心系统在多技术栈下的平稳切换,对于金融行业信息技术应用创新工作具有示范与借鉴意义,促进了国产技术创新与产业生态发展。

分布式架构分布式技术
本作品采用《CC 协议》,转载必须注明作者和本文链接
从2021年3月开始,在实现全量双机并行验证基础上,建设银行信用卡、个人贷款、客户信息、对私存款与借记卡业务分批次单轨投产切换,投产后系统运行稳定,未发生业务一致性问题,系统各项运行指标满足业务需求。为了检验系统的准确性,建设银行提出了“三真实、四比对、五验证”的核心系统异构并行比对方法。
2021年底,广发证券通过估值系统应用架构分布式升级,同时结合OceanBase原生分布式数据库,落地证券行业首个信创估值系统。
SolarWinds事件使美国众多政府机构、安全和IT公司沦陷,人们清醒意识到在日益复杂的网络攻击面前,大量传统网络安全工具、措施和策略失效,没有任何机构可以幸免,那怕是当今顶级的网络安全公司。为此,作为网络安全行业的风向标,2021年5月17日,RSA峰会宣布以“弹性”(Resilience)作为大会的主题,明确提出安全进入弹性时代。RSA公司的CEO 在会议开幕时明确指出当前全球网络正在遭受前
云计算、SDN等技术的发展,推动了金融数据中心网络的变革,传统网络正在向云网融合方向发展。在新技术的驱动下,邮储银行的网络架构在探索中加快演进和实践,积极推进广域网SDN演进,加快数据中心云网一体化建设,为邮储银行金融业务发展打造高可靠性网络平台。
打造稳定、安全、高效的金融云底座
云计算的概念从提出到现在已经近 15 年时间。最初,业界大多将云计算架构分为基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS),这种基于虚拟主机(VM)为主体的虚拟化技术,从 IT 架构视角进行划分的方法虽然清晰但有局限性,因为它并不是完全站在应用和业务视角。
别急,今天这篇文章就带你从写第一行代码开始,一步步教你把程序放到 K8s 跑起来。这次咱们先用 Go 做个例子,后面再写一篇怎么把 Spring Boot 应用放到 K8s 上运行。K8s 本机环境安装在个人电脑上安装 K8s 可选的软件,主要有这么几种:minikube。Docker 桌面应用自带的 K8s 集群。
当前,数据正逐步成为关键生产要素和战略性资产,金融业数字化转型已走入深水区,伴随着《数据安全法》《个人信息保护法》等法律颁布实施,数据安全合规已成为数据共享融合赋能,升级迭代金融服务创新能力的必要前提。对于光大集团而言,数据共享融合更是集团型企业实现客户协同、业务联动、发挥资源优势的关键一环。光大银行作为集团核心企业,积极落实人民银行相关要求,建设行业内首个基于多方安全计算的企业级数据共享融合基础
存算一体SHARDING模式的分布式数据库最为典型的是Oceanbase。因为大型分布式计算环境下实施缓冲区融合成本极高,因此每个TIDB节点只能有本地缓冲,不能有全局缓冲。每个SET是一组高可用组,由一主多备组成。数据按照SET进行SHARDING分区。最初此类架构的主从切换类似于MYSQL的主从切换,对前端应用的影响很大,如果业务高峰时出现主DN故障,那就是灾难性的。
深信服分布式存储EDS,助推产业创新与发展
VSole
网络安全专家