案例4 信用卡核心系统分布式信创项目

本案例描述了一种分布式系统信创建设方案,该方案基于完全知识产权的应用层、PaaS层和SaaS层,支持我行信用卡核心系统从大型机迁移到分布式单元化。方案围绕核心系统的稳定性、高可用性、扩展性的多活建设和云原生演进,实现了单元化、容器化升级。此方案的技术红利转换为业务发展赋能,支持信用卡作为零售尖兵,实现快速业务转型。随着国产芯片和国产数据库的深入应用,该方案不断构建和升级核心系统的信创能力,对同行业具有借鉴参考意义。

关键词:自主可控,国芯应用,高可用多活,单元化容器升级

一、背景介绍

金融行业信创就是金融行业信息技术应用创新,包括对基础设施、基础软件、应用软件等各种类型的信息产品的创新,对金融的信息安全和可持续发展至关重要。由于金融核心系统的复杂性高,且在整个金融应用中处于核心地位,所以对性能和稳定性的要求也更为苛刻。因此,在采用创新技术时,金融核心系统面临诸多困难,如改造成本高、周期长,以及技术选型和实施若失误则可能引发的风险大。

平安银行自2018年起开始进行信用卡核心系统的分布式改造。原有的主机系统具有如下特点。

采用VisionPlus。

基于大型主机系统构建。

软件闭源。

硬件及软件的采购成本高。

极度依赖供应商支持。

缺乏技术自主可控能力。

采用集中式架构,缺乏灵活的水平伸缩能力。

上述特点在一定程度上制约了业务的发展。经过两年的集中研发,平安银行于2020年10月完成了基于分布式架构的新核心系统上线,并于2020年底在应用、中间件、数据库和操作系统上实现了全栈信创。此后,新核心系统陆续开展了金融前置下沉核心、核心容器化、国产服务器100%等工程,核心系统生态逐步向100%全栈信创的目标推进。

该项目在从单体系统到分布式单元化迁移的基础上实现了云原生容器化升级,完成了信用卡核心系统在信创基础上的迭代演进,对于行业内核心系统的分布式单元化改造以及云原生建设具有示范意义。

二、建设内容

新核心系统从最传统的大型主机系统迁移到分布式系统。新架构有多种选择,在应用层、数据层、PaaS设施层和基础层也都有保守但方便的选择。基于以下三点考虑,项目选择了全栈彻底分布式的建设方向。

新核心的改造面向未来中长期的发展需要,具备良好的性能和可扩展性。

我行已经具备了分布式PaaS平台的生态。

在基础设施层上避免产生新的依赖。

(一)分布式系统架构设计

依托于行内和集团的技术优势和沉淀,我们协调了科技运营、技术架构等关键部门专家,从应用、数据、基础设施,以及银行现有的经验等方面,快速论证了彻底分布式选型方案,并对项目的后续开展进行了严密部署。

信用卡新核心采用多活的DSU分片架构设计,使多个系统单元能够正常负载和提供服务,满足系统的高可用性、高扩展性和高性能要求。

1.单元化架构设计

在单元化架构设计方面,通过重点关注以下三个方面,最终得到新核心系统架构。

● 高可用:同城双机房1:1互备,可实现出现故障时秒级同城切换;基于总行GSLB域名的灵活切换策略,单个DSU可独立切换,隔离故障。

● 高扩展:基于DSU单元化的架构,约200万用户一个分片(含应用及DB),60个分片就是60个小的信用卡核心。仅需申请配置发布即可实现低成本扩容,无须再次进行开发。

● 高性能:支持1万笔/s并发金融交易,相较于老核心速度提升了10倍,目标100%无损授权;支持30亿交易账户,是老核心的10倍,同时支持小时级批量处理时效。

2.全面基于银行分布式金融PaaS平台建设

分布式金融PaaS平台基于云计算,采用成熟的开源技术开发,具备亿级处理能力,全面支持敏捷开发和弹性扩展,提升了业务连续性支撑能力和技术安全可靠性。平台支持业务快速发展,实现了弹性伸缩和系统横向扩展,提高了系统可用性,避免了故障对业务的影响。

分布式自研PaaS平台,将微服务框架、网关、分布式缓存、消息队列、分布式数据库、调度中心、监控中心等基础服务和中间件进行集成,构建支撑应用系统开发及运行的统一基础平台。

彻底去IOE(去掉IBM小型机、Oracle数据库和EMC存储设备),IaaS层全面采用X86架构服务器,彻底去除小型机及主机;用基于MySQL的国产数据库增强型产品替代Oracle,达到金融级的高可用和信创要求。

3.平安银行私有云支持部署运行

平安银行私有云通过整合开源资源管理模块、定制化云管平台和行内现有管控流程,实现了行内应用从传统Vmware+SAN平台向KVM+本地化的迁移。该举措降低了银行对SAN等高端设备的需求,减弱了对商业软件的依赖,提升了资源交付效率,降低了部署资源成本。

两地三中心架构支持“同城双活,异地灾备”,并且具备可伸缩的计算资源管理功能,保障了设施层的高可用性和合理配置。

(二)应用架构设计

通过三个主要策略,实现批量与交易分离、业务松耦合,有效降低系统复杂性,提升系统的健壮性,更充分、更安全地支持业务敏捷。

● 账务与交易应用分离、数据完全隔离。核心账务和交易业务完全解耦,同时,联机交易与账务处理压力完全隔离,秒杀活动不受批量时间影响。

● 交易微服务化,金融交易与非金融交易分离,金融交易按渠道流量隔离。不同业务服务间职责明确,互不干扰;单组件职责纯粹,变更不影响其他组件。

● 互联网查询与交易分离,核心交易与互联网复杂场景解耦。通过数据缓存应对海量查询交易,解决互联网客户复杂交易对系统核心交易带来的冲击。

新核心系统架构图

两地三中心部署逻辑架构

三、创新应用

由于信用卡业务具有高频并发的特点,所以在核心系统实施容器化云原生升级时,系统的稳定性和高可用性不容有失。在业务应用单元化容器化升级的同时,还需要对基础组件功能进行整体升级改造,具体措施如下。

(1)分阶段实施上容,制定质量准出指标,确保总体风险可控。

阶段一:DSU(数据库存储单元)内部单节点上容(观澜机房),准出涉及业务指标和运维指标。

业务指标包括典型案例验证通过率、容器应用授权处理情况、响应时间是否有异常、单节点交易平均响应时间、单节点交易平均(95线)响应时间等。

运维指标包括CAT监控平台支持容器的日志收集、监控及告警,Promethues支持容器资源使用观测,容器应用JVM(Java虚拟机)资源回收稳定等。

阶段二:DSU内部全部节点上容(观澜机房),准出涉及业务指标和运维指标。

业务指标包括信用卡关键批量日运行及结果是否正常、容器应用主渠道及主要业务场景覆盖率、容器应用授权处理及响应时间是否异常、单元维度平均交易响应时间等。

运维指标包括版本发布成功率、发布时长、重要组件可用率、平均耗时等。

阶段三:单机房全部DSU上容(福田机房),准出涉及业务指标和运维指标。

业务指标包括容器应用主渠道及主要业务场景覆盖率、下游大数据及应用无异常反馈、交易失败率(同城比较)等。

运维指标包括容器部署国产化率、福田机房容器版本发布成功率、发布时长、重要组件可用率、平均耗时等。

阶段四:双机房全部DSU上容(同城)。

(2)上线过程流量逐级切换。

● 上线过程采用由下至上的顺序。依次发布业务应用的灰度集群(HALO流量),验证白名单后发布正式集群,最后发布网关应用的正式集群和灰度集群,通过探测工具进行探测。SLB配置Ingress节点(正常节点),基于内测白名单功能验证集群的正确性。

● 从SLB内测白名单到SLB全链路灰度设置。SLB全链路灰度基于应用维度进行设置。全链路灰度功能依赖于全部DSU容器化,因此上线过程采用内测白名单功能,待全机房全面容器化后,开放全链路灰度功能。

● 流量百分比验证。在机房流量控制百分比的基础上,对容器化的单元进行流量观察,确保上线过程风险可控。

新核心上容切换流量分发示意图

(3)PaaS层能力升级,保障了核心系统的稳定性、扩展性和可用性。

基础组件升级涵盖了DSU的容器应用集成、部署、灰度、下线等全生命周期管理,同时也丰富和增强了DSU架构下的流量管理、全链路灰度、一键部署、差异化参数等高阶特性。

● 发布平台/发布能力:并行发布、一键发布、快速扩容。

● APOLLO/标签灰度:提供了容器节点差异化参数及灵活参数配置能力。

● CAT/监控分组:按部署集群分组展示和监控。

● NOVA/单元参数模板:单元参数统一模板、集群参数一键生效、单元部署亲和规则。

● CANNA/灰度达标:统一灰度标签、灵活的灰度规则、健康与告警管理。

● HALO/应用注册:容器集群统一Solar Agent注册、应用全生命周期管理。

● DLS与SLB/流量分发:单元流量路由、全链路灰度、故障转移。

● F16/应用注册:全面的指标监控、差异化的告警设置、容器与物理机监控。

四、取得成效

新核心投产成功,解决了之前大型核心系统的诸多痛点。基于自主可控目标,信用卡新核心系统从应用层到PaaS层、SaaS层等的核心技术,均采用我行自主可控的方式建设。在此基础上,通过云原生容器化升级,提升了系统的弹性扩展能力,并保障了核心运行的稳定性。目前,国产芯片承载流量占比已达80%。

综合对比新老核心系统的硬件成本,信用卡A+新核心主要使用的是单台数万元计价的X86服务器,相较动辄上亿元起步的大型机硬件,成本大幅降低,综合成本仅为原主机方案的四分之一。

同时,平安信用卡拥有了100%自主知识产权的核心系统,探索全栈100%信创如何稳定高效地在核心系统落地,保障系统可持续发展的技术路径。这对同行业具有借鉴参考意义。

完成人:

王 松 平安银行股份有限公司信用卡核心领域负责人

吴学亮 平安银行股份有限公司软件质量团队领域负责人

沈 伟 平安银行股份有限公司信用卡核心领域助理负责人

王建文 平安银行股份有限公司信用卡核心领域分组经理

毛 杰 平安银行股份有限公司信用卡核心领域分组经理

程 俊 平安银行股份有限公司信用卡核心领域分组经理