作为国家支柱性行业,金融业在国民经济中发挥着举足轻重的作用。近些年来金融业的运营模式和服务方式都发生了很大变化,这对于金融科技提出更高要求。与此同时,国内金融机构还面临国产化诉求,用以应对脱钩、断供等潜在风险。作为数据应用高地,金融企业普遍存在业务复杂、可用性要求高等特点,尤其是以银行核心系统为代表。对银行核心系统提供做架构升级、国产化改造是风险极大的一项工程。近期,国内杭州银行新一代核心系统成功上线,引起业内普遍关注。笔者有幸受邀对项目实施方做了专访,了解项目实施中的一些细节。作为用户的行方从开始就秉承着应用与基础设施解耦架构思想、分布式透明化的设计开发理念,通过与国产分布式数据库TiDB的通力合作,完成此次核心系统的成功上线。这为国内广大同类型银行升级,带来积极参考意义;其背后的实践过程也很值得思考。
银行核心系统,也称为 Core Banking,是银行处理存款、贷款业务为主的核心IT系统。作为支撑业务营运的关键系统和银行信息化的重要组成部分,被称作银行IT系统的“心脏”。同时,银行核心在整个银行IT系统架构中是其他业务子系统的基础,处于承上启下的关键位置。核心系统在金融服务能力、处理性能等方面,对银行日常经营的业务与流程优化、提升客户体验度、推动业务改革或创新等方面起着决定性作用。
从历史演进来看,银行核心系统经历了从手工时代到PC时代,到联网联机、数据大集中,再到以客户为中心的发展历程。从上世纪九十年代开始,银行核心系统技术架构从数据集中路线演进而来的“胖核心”时期;到本世纪头十年因核心系统庞大且耦合严重,将辅助功能拆分后形成的“瘦核心”时期;再到近十年来互联网对银行业务产生影响,银行开始构建分布式核心,形成以稳态集中式架构与敏态分布式架构并存的情况。特别是在 2017 年,中国人民银行提出发展规划,鼓励实施架构转型,包括采用分布式架构,这一趋势推动了分布式核心系统的发展。分布式核心系统的关键目标是突破单机系统的数据存储和处理能力上限,同时减小单点故障对整个系统的影响。这通过多机分片处理数据库来实现,提高了银行系统的健壮性和可用性。
在推动分布式核心发展中,以“微服务、单元化”为代表的架构设计理念成为主流。前者是一种软件架构风格,其应用程序被拆分为一组小型、松耦合的、自治的服务。每个服务都可以独立地进行开发、部署和扩展,并通过轻量级的通信机制(如HTTP、消息队列等)进行互相通信。其核心原则是将复杂的单体应用程序拆分成更小、更可管理的部件,每个部件专注于完成一个特定的业务功能。后者则通过把一部分计算资源和一部分数据资源进行逻辑上的绑定,形成一个标准化的处理单元。每个处理单元具备完整的业务能力,但只处理全量数据中的一部分,简单理解一个单元就相当于一个小分行。其核心原则是将业务拆分更为细小的处理单元,并可根据需要进行扩展。
无论采取两种架构之一或兼而有之,都对底层基础设施提出更高的要求,特别是数据的主要载体-数据库。相对而言,单元化更倾向于通过数据拆分,将数据形成一个自包含的处理单元,对数据库的承载体量、处理能力可以通过单机或集中式数据库完成。但由于单元化架构学习、实施成本很高,比较适合于体量较大或有异地多活规划的银行。对以城商行为代表的广大中小规模银行来说,因其技术底子相对较薄、业务系统多以外购或合作开发为主且财力投入相对有限,上述原因都造成了单元化对于中小行不太适合,那么中小行也更多采用“微服务+分布式数据库”的道路。
随着近十年国产分布式数据库的快速发展,其成熟度、稳定性等已趋于完善,开始在金融核心系统为代表的重要业务系统中尝试使用。当然,这一新架构产品对架构、开发、运维等都带来很多变化。特别是架构、研发层面,之前业务系统在设计上多是以集中式数据库能力为基础进行的,对于分布式架构存在诸多差异。如何降低这一差异,尽量复用之前架构设计,甚至做到将应用与底层基础架构解耦成为关键。这里提出一种新的观点-“分布式透明化”,即在分布式架构下仍然可沿用单机或集中式数据库的开发设计习惯,做到完全无感。这里不是简单的与某种数据库的语法、运维兼容的问题,而是从架构之初就可以透明处理。正是这种分布式透明化能力给城商行等中小银行的核心系统国产化及升级改造,提供了一条平滑的创新之路。
近期,杭州银行以 TiDB 为底层数据库的新一代核心业务系统成功投产上线,也是业内首个实际投产的云原生、分布式、全栈国产化的银行核心系统上线,是金融科技领域突破关键核心技术应用的重大实践,标志着杭州银行核心业务系统实现完全自主可控和架构升级。这一实践中正是遵循了“分布式透明化”这一理念,为广大同业建设核心系统架构转型提供了参考。杭州银行此次核心系统升级,在规划之初就将业务与基础设施解耦放在首要因素,从多角度对底层数据库提出很高要求。
杭州银行核心系统升级,正是从架构、研发、运维多角度出发,在充分考虑新型分布式数据库能力的同时,结合自身技术发展现状及长远规划,最终选择 TiDB 作为核心系统的数据库,并通过近两年与厂商的通力协作成功上线。杭州银行新一代核心系统上线以来运行安全稳定,大幅提升了业务处理效率,已支撑日均交易量 1000+ 万笔,平均交易耗时小于 100 毫秒,较原核心业务系统缩减 54%,日终跑批的处理速度为原核心业务系统的 2.1 倍,能够有效支撑未来业务的快速发展。
杭州银行核心系统的成功上线,为广大同业者及数据库行业带来很多思考。中国有数千家金融机构,随着业务发展及技术演进,都正面临架构升级改造的工作。但由于各金融机构,体量差异巨大、发展阶段不同、技术路线各异,很难找到通用性、标准化的路径。与此同时,数据库的发展近年来也呈现“井喷式”发展,一方面采用新架构、新理念的分布式数据库不断涌现;另一方面传统单机、集中式数据库也纷纷推陈出新。上述问题,共同造成金融用户在架构升级改造中很多痛点。从技术架构上看,数据库可分为集中式数据库、分库分表型分布式数据库、原生分布式数据库,不同架构数据库产品各有其特点。集中式产品更符合用户使用习惯,可实现相对顺滑的“平替”,但也面临承载力有限等问题。分库分表型分布式数据库,因可知悉数据精准分布,计算效率更高,但需面临必要的应用改造。原生分布式数据库,相对折中,尽量保留原有使用习惯下,提供一定的平滑迁移能力。上述三种方案,各有优缺点,要看用户数据体量、业务复杂度、底层技术积累等多种因素。
近日杭州银行核心系统上线,正是走出了一条的适合自己的实践道路,其秉承的应用与基础设施解耦的架构思想,分布式透明化的设计开发理念对同行业具有很大参考意义。在既保持了原有使用习惯的基础上,又在整体架构路线方面选择了可持续创新的架构。未来,希望广大金融IT从业者,在面临国产化升级的整体规划上,既需要考虑企业当前现状,也能充分瞄准未来架构的延伸性,以创新的思维推动银行核心系统的整体升级,共同助力中国金融的数字化转型。