查看原文
其他

实战 | 创新探索,转型发展——中国银行海外分布式核心银行项目

金融电子化 金融电子化 2023-01-22

欢迎金融科技工作者积极投稿!

投稿邮箱:newmedia@fcmag.com.cn

                                          ——金融电子化



      

文 / 中国银行软件中心  钟艳辉


项目背景

作为一家高度国际化的现代商业银行,中国银行拥有64家海外分行。当前,中国银行数字化转型战略加速推进,海外分行当地监管日趋严格。总行聚焦核心银行未来服务能力,提出IT架构转型的整体战略构想,对海外核心提出升级改造和转型的要求。按照中国银行信息科技条线的统一规划,聚焦核心银行未来服务能力,通过采用分布式体系架构,基于微服务设计理念,打造海外分布式核心银行系统,以满足未来产品的发展需要。


项目介绍

中国银行海外分布式核心银行系统基于微服务设计理念进行设计,将原有大而全的核心服务进行微服务拆分,重新进行数据建模,不仅覆盖原核心的业务功能,同时发挥分布式优势,实现真正面向客户的服务设计,提升对业务发展和市场变化的敏捷响应,系统整体架构如图所示。

图  海外分布式核心银行系统架构图


1.勇于技术探索,破解分布难题。在分布式架构下保证金融核心系统的高可用、高可靠和高性能是业界在分布式改造中遇到的普遍难题。项目组根据海外核心业务的特点,通过多种设计和技术手段进行难题破解。


海外业务分行数据量并不大,但是分行众多,分行账户数多数在百万以下,针对此特点,系统在数据和微服务设计方面采取“分而治之”的策略,数据采用横向和纵向的单元划分方式,按银行进行水平划分,按业务领域垂直划分;微服务按领域划分,按单元化部署,满足数据隔离的监管要求,保证系统的可扩展性。


分布式事务一致性方面,项目组引入了SAGA、TCC、柔性事务等多种机制,通过分析业界不同分布式解决方案的优缺点,深刻理解业务本质,结合具体场景,采取不同的分布式事务解决策略。对于调用其他服务比较频繁的服务,例如贷款服务,使用基于SAGA理论的服务编排,通过回冲、重试、未明、挂起续做的多种场景支持,实现对分布式服务的一致性保证;对于主要矛盾为热点资源竞争的服务,例如内部账服务,采用基于TCC原理,引入补偿机制,将资源转换为业务逻辑形式,减少锁的粒度,保证热点资源的高吞吐量和更新准确性;对于不属于交易关键路径的动作,例如短信通知、记录流水等场景,采用最终事务一致性方案,通过异步方式进行更新,保证实时交易的响应速度。各种分布式事务解决方案的组合使用,解决了复杂核心系统的微服务事务一致性问题,增强了系统的可靠性。


在提升系统性能方面提供多种机制保证,首先,建立可插拔可配置可自愈的缓存组件,通过将所有缓存操作抽象为公共缓存代理。支持线程级、内存级和中间件级的三级缓存机制,并实现按照参数版本号精准缓存刷新机制,全方位满足核心系统复杂的缓存需求。另外系统提供灵活透明、可配置高可靠的异步机制,对异步信息进行一站式处理,对容错、超时、重试进行封装,满足核心系统对各种复杂场景的柔性事务机制,均衡系统压力,实现资源的最大化利用。


在保证服务可用性方面,为彻底解决批量期间交易短暂停止的问题,给用户连贯的服务体验,系统批量采用双表双余额模式,将联机数据主表和影子表数据同步至批量数据库,实现动态实时数据和日切静态数据准确性。联机子系统和批处理子系统分工协作,通过联机业务补偿的方式,提供不间断的联机服务能力。为用户提供无场景限制、无应用侵入、无跨日切换窗口的全球化7×24不间断无缝服务。


2.提升用户体验,发挥分布优势。海外核心业务由于各国市场和监管要求差异,形成了在总行业务统一规划下的差异化服务,为快速灵活地满足海外机构不同的监管要求及个性化诉求,项目组从领域设计、数据治理和基础设施兼容等几个方面来全方位满足海外分行的需求。


首先,引入领域驱动设计方法,通过业务领域拆分、服务编排、事件订阅提供灵活的对外服务能力,可根据服务的高可用级别进行灵活的微服务组合部署,进而快速响应总分行的产品创新和市场变化;建立产品服务化能力,以客户为中心,通过面向市场的产品组合和定制服务,实现面向客户的可售产品管理和因客定价;建立场景化服务能力,建立服务的标准化管理,通过服务引擎的调度,实现系统的场景化服务能力,发挥微服务编排的优势,将核心系统的能力整合进行输出,全面提升客户体验。


其次,为了给用户统一的数据体验和报送口径,通过数据治理专题进行数据模型规范化,对核心系统的数据从原数据进行分析,新老系统数据进行对照,结合其真实业务含义,形成标准化和规范化的海外核心数据模型,全系统统一的元数据管理。实现系统的数据服务能力,构建统一的数据标准和管理机制,提升数据管理水平,为客户提供统一的数据输出和服务。


另外,海外分行由于当地法律、采购等具体情况不同,其基础设施要求不尽相同。例如雅加达要求核心系统在当地数据中心进行部署。为满足海外复杂的环境要求,系统提供统一适配层来屏蔽底层,通过框架适配、数据库适配、消息适配和缓存适配等,达到使用同一版本适配云环境和非云环境的目标,满足海外分行不同的软硬件环境,快速满足中国银行全球化发展战略。


3.践行敏捷开发,赋能敏捷交付。根据中国银行信息技术体系的特点,以快速、频繁和可靠发布软件、更快地适应业务快速发展为目标,打造行内企业级研发中台,集变更可控、服务自助、质量内建、全局优化的能力于一身,通过定制化、可视化和自动化打通开发、测试、运维等环节,赋能敏捷实践和数字化转型。


为了使DevOps体系能够顺滑地运转,项目组通过对开发测试各个环节进行的观察识别,打造工具链保证磨合团队,提高开发效率和质量,“Dao层代码生成工具”“服务编排工具”“单元测试工具”“接口测试工具”“契约测试工具”等自动化工具犹如DevOps链路中的润滑剂,减少了迭代工作量,保障了迭代开发进度,增加了代码覆盖率,提高了迭代交付质量,为大规模敏捷开发的顺利推进提供了坚实的基础。


分布式DevOps体系的监控、运维是检验系统是否具备快速部署、可持续运转的重要部分,项目组自研了ATS监控模块,通过可视化的方式,实现服务、参数、缓存等的监控与管理,提升分布式服务的监控与管理能力,运维模块提供分布式服务的一站式管理,对用户透明、实现智能扩展、动态扩展;运维模块同时提供分布式参数的配置中心,可一键管理参数,并提供自动查错功能;同时系统提供简单、方便、多维度的日志监控能力,方便分行运维,助力系统的智能高效运维。


项目成效

2019年11月,雅加达分行试点海外分布式核心银行系统成功上线,完成了对当地监管的承诺,助力分行成为当地第一家完成数据中心回迁的外资银行,得到当地监管的高度认可。印尼银行监管机构金融服务管理局(OJK)批复分行成为3级商业银行,正式跨入印尼主流银行之列,并获评“最佳外资银行”。


2020年系统在总行以AA-A双活方式部署,并增加人工智能、大数据等新技术应用,使用相似算法(链式相似/余弦相似度)用于客户信息治理、孪生卷积神经网络用于票据和印鉴识别,完成对瑞士和爱尔兰分行的开行营业。项目荣获2020年度“金融科技发展奖”一等奖。


中国银行海外核心银行项目以海外分布式核心银行系统建设为契机,实现了银行核心IT架构由集中到分布的华丽转身,达到了架构、技术转型的目的,提升了敏捷反应、快速交付能力,探索出一条切实可行的银行关键应用系统安全可控的科技创新之路。


(栏目编辑: 张丽霞)





往期精选:

(点击查看精彩内容)


● 实战 | 探索银行营业网点服务标准第三范式

● 实战 | 保险核保智慧体检体系建设

● 实战 | 追求卓越,砥砺前行——小型机下移x86开放平台最佳实践

● 实战 | ISO 20022 报文库和我国金融报文库应用情况

● 实战 | 数据驱动效能——软件测试效能改进中的度量实践







新媒体中心:主任 / 邝源  编辑 / 傅甜甜  张珺  邰思琪

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存