“分布式透明化”在杭州银行核心系统上线之思考

这篇具有很好参考价值的文章主要介绍了“分布式透明化”在杭州银行核心系统上线之思考。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

导读

随着金融行业数字化转型的需求,银行核心系统的升级改造成为重要议题。杭州银行成功上线以 TiDB 为底层数据库的新一代核心业务系统,该实践采用应用与基础设施解耦、分布式透明化的设计开发理念,推动银行核心系统的整体升级。

本文聚焦银行核心系统演进,结合 TiDB在杭州银行新一代核心的实践,深入解析“分布式透明化”理念,希望能为同行业的转型升级提供参考。

本文作者:韩锋 ,CCIA(中国计算机协会)常务理事,前 Oracle ACE、腾讯 TVP、阿里云 MVP。有着丰富的一线数据库架构、软件研发、产品设计、团队管理经验。曾担任多家公司首席 DBA、数据库架构师等职。在云、电商、互金、互联网、银行等行业均有涉猎,精通多种关系型数据库,对 NoSQL 及大数据相关技术也有涉足,实践经验丰富。曾著有数据库相关著作《SQL 优化最佳实践》、《数据库高效优化》。《韩锋频道》公众号作者。

“分布式透明化”在杭州银行核心系统上线之思考,分布式,云原生,tidb,数据库,银行

作为国家支柱性行业,金融业在国民经济中发挥着举足轻重的作用。近些年来金融业的运营模式和服务方式都发生了很大变化,这对于金融科技提出更高要求。与此同时,国内金融机构还面临国产化诉求,用以应对脱钩、断供等潜在风险。作为数据应用高地,金融企业普遍存在业务复杂、可用性要求高等特点,尤其是以银行核心系统为代表。对银行核心系统提供做架构升级、国产化改造是风险极大的一项工程。

近期,国内杭州银行新一代核心系统成功上线,引起业内普遍关注。行方从开始就秉承着应用与基础设施解耦架构思想、分布式透明化的设计开发理念,通过与国产分布式数据库 TiDB 的通力合作,完成此次核心系统的成功上线。这为国内广大同类型银行升级,带来积极参考意义;其背后的实践过程也很值得思考。

银行核心系统演进及观察

银行核心系统,也称为 Core Banking,是银行处理存款、贷款业务为主的核心 IT 系统。作为支撑业务营运的关键系统和银行信息化的重要组成部分,被称作银行 IT 系统的“心脏”。同时,银行核心在整个银行 IT 系统架构中是其他业务子系统的基础,处于承上启下的关键位置。核心系统在金融服务能力、处理性能等方面,对银行日常经营的业务与流程优化、提升客户体验度、推动业务改革或创新等方面起着决定性作用。

从历史演进来看,银行核心系统经历了从手工时代到 PC 时代,到联网联机、数据大集中,再到以客户为中心的发展历程。从上世纪九十年代开始,银行核心系统技术架构从数据集中路线演进而来的 “胖核心” 时期;到本世纪头十年因核心系统庞大且耦合严重,将辅助功能拆分后形成的 “瘦核心” 时期;再到近十年来互联网对银行业务产生影响,银行开始构建分布式核心,形成以稳态集中式架构与敏态分布式架构并存的情况。特别是在 2017 年,中国人民银行提出发展规划,鼓励实施架构转型,包括采用分布式架构,这一趋势推动了分布式核心系统的发展。分布式核心系统的关键目标是突破单机系统的数据存储和处理能力上限,同时减小单点故障对整个系统的影响。这通过多机分片处理数据库来实现,提高了银行系统的健壮性和可用性。

在推动分布式核心发展中,以“微服务、单元化”为代表的架构设计理念成为主流。 前者是一种软件架构风格,其应用程序被拆分为一组小型、松耦合的、自治的服务。每个服务都可以独立地进行开发、部署和扩展,并通过轻量级的通信机制(如 HTTP、消息队列等)进行互相通信。其核心原则是将复杂的单体应用程序拆分成更小、更可管理的部件,每个部件专注于完成一个特定的业务功能。后者则通过把一部分计算资源和一部分数据资源进行逻辑上的绑定,形成一个标准化的处理单元。每个处理单元具备完整的业务能力,但只处理全量数据中的一部分,简单理解一个单元就相当于一个小分行。其核心原则是将业务拆分更为细小的处理单元,并可根据需要进行扩展。

“分布式透明化”在杭州银行核心系统上线之思考,分布式,云原生,tidb,数据库,银行

无论采取两种架构之一或兼而有之,都对底层基础设施提出更高的要求,特别是数据的主要载体-数据库。 相对而言,单元化更倾向于通过数据拆分,将数据形成一个自包含的处理单元,对数据库的承载体量、处理能力可以通过单机或集中式数据库完成。但由于单元化架构学习、实施成本很高,比较适合于体量较大或有异地多活规划的银行。对以城商行为代表的广大中小规模银行来说,因其技术底子相对较薄、业务系统多以外购或合作开发为主且财力投入相对有限,上述原因都造成了单元化对于中小行不太适合,那么中小行也更多采用“微服务+分布式数据库”的道路。

随着近十年国产分布式数据库的快速发展,其成熟度、稳定性等已趋于完善,开始在金融核心系统为代表的重要业务系统中尝试使用。当然, 这一新架构产品对架构、开发、运维等都带来很多变化 。特别是架构、研发层面,之前业务系统在设计上多是以集中式数据库能力为基础进行的,对于分布式架构存在诸多差异。如何降低这一差异,尽量复用之前架构设计,甚至做到将应用与底层基础架构解耦成为关键。这里提出一种新的观点-“分布式透明化”,即在分布式架构下仍然可沿用单机或集中式数据库的开发设计习惯,做到完全无感。这里不是简单的与某种数据库的语法、运维兼容的问题,而是从架构之初就可以透明处理。正是这种分布式透明化能力给城商行等中小银行的核心系统国产化及升级改造,提供了一条平滑的创新之路。

TiDB 在杭州银行新一代核心的实践

近期,杭州银行以 TiDB 为底层数据库的新一代核心业务系统成功投产上线 ,也是业内首个实际投产的云原生、分布式、全栈国产化的银行核心系统上线,是金融科技领域突破关键核心技术应用的重大实践,标志着杭州银行核心业务系统实现完全自主可控和架构升级。这一实践中正是遵循了“分布式透明化”这一理念,为广大同业建设核心系统架构转型提供了参考。杭州银行此次核心系统升级,在规划之初就将业务与基础设施解耦放在首要因素,从多角度对底层数据库提出很高要求。

从架构角度来看, 首要问题就是解决所谓透明化问题,即对数据库建模、设计、开发过程仍可沿用之前的实践,尽量减少因引入分布式数据库所造成的差异。一方面业务系统开发中很难避免人员的更迭,另一方面很多业务系统也是采用合作开发模式。透明化对于最大化保留原有开发积累,有着重要意义。其次就是需要数据提供全面的兼容能力,对上可以兼容新型应用架构,包括微服务、云原生及可能会有单元化;向下可兼容具备自主创新能力的基础平台。第三则是希望数据库提供标准而非定制化能力,这也是基于业内实践,很多国产数据库当面临功能不足时会提供定制开发已解决问题,但这是不利于用户长期技术战略的。

从研发角度来看, 针对数据分片后不可避免的分布式事务问题,在框架层尚无成熟完善的分布式事务解决方案下,充分利用底层数据库的分布式事务能力来解决,这样开发简化很多。弱化对数据库特性功能的依赖,将很多功能前置到框架层来解决。例如针对数据库中常用的序列功能,即可在框架层提供分布式全局发号器来解决,不再依赖数据库实现。针对数据库经常需面对的热点问题,虽然分布式架构能在一定程度上缓解这一问题,但在开发方面仍可以有多重手段去前置解决。例如,通过缓存与数据库的结合,降低对数据库热点对象的访问。通过将业务处理异步化,将对数据库压力分散开来。这些措施都可以有效解决热点问题。

针对具备金融特点的跑批类业务,通过将处理工作打散并行可以有效提高吞吐量,消除批量热点,充分利用分布式数据库的丰富算力。例如针对银行核心系统日终及日间批量处理采用带有业务属性的分布式调度器,充分发挥分布式数据库 TiDB 支持多会话及高并发处理特性,在原有作业流程基础上由调度器使用分段 SQL 语句或分片算法将任务平均分配,并将分片任务同时下发到多个执行器节点并行处理提升批量处理性能;同时批量任务执行器节点和 TiDB 数据库节点均可实现弹性水平扩展,保证杭州银行在未来业务快速增长、数据规模急剧扩大的情况下,批量处理性能不降级。

从运维角度来看, 引入分布式数据库会带来不小的挑战,当然同时也有着明显收益。从数据完整性角度来看,以 TiDB 为代表的原生分布式架构产品提供的是基于共识协议的多副本机制,能保障数据的强一致性和完整性。从可行性来看,分布式数据库产品多通过三中心仲裁方式来提供整体高可用性,但这一方式成本较高。TiDB 在实现上提供了更为经济的强双中心方案,即当满足同城低延迟的条件下,可通过两中心提供同样的可用性保障能力。通过同城强双中心与异地备份的结合,最终达到 RPO=0 的可用性标准。这也是很多金融行业用户最终选择分布式数据库架构的原因,其不仅可提供高并发、高扩展性,其整体较高的可用性及容灾能力也是被选择关键理由之一。同时这一架构还提供跨中心的多写多读能力,这对于业务侧实现业务同城多活具备重大意义。

针对在具体运维工作中普遍比较头疼的大表 DDL 变更、分布式监控问题,TiDB 也通过特有的对象在线变更技术及可观测技术解决了整体的维护性。金融行业作为涉及国计民生的重要行业,对于供应链安全尤为重视,因此希望数据库产品能提供底层适配能力。TiDB 在这方面提供了多种架构 CPU 的适配能力,可满足用户未来可能的迁移需求,从根本解决“断供”问题。

杭州银行核心系统升级,正是从架构、研发、运维多角度出发,在充分考虑新型分布式数据库能力的同时,结合自身技术发展现状及长远规划,最终选择 TiDB 作为核心系统的数据库,并通过近两年与厂商的通力协作成功上线。杭州银行新一代核心系统上线以来运行安全稳定,大幅提升了业务处理效率, 已支撑日均交易量 1000+ 万笔,平均交易耗时小于 100 毫秒,较原核心业务系统缩减 54%,日终跑批的处理速度为原核心业务系统的 2.1 倍 ,能够有效支撑未来业务的快速发展。

杭州银行实践带来的思考

杭州银行核心系统的成功上线,为广大同业者及数据库行业带来很多思考。中国有数千家金融机构,随着业务发展及技术演进,都正面临架构升级改造的工作。但由于各金融机构,体量差异巨大、发展阶段不同、技术路线各异,很难找到通用性、标准化的路径。与此同时,数据库的发展近年来也呈现“井喷式”发展,一方面采用新架构、新理念的分布式数据库不断涌现;另一方面传统单机、集中式数据库也纷纷推陈出新。上述问题,共同造成金融用户在架构升级改造中很多痛点。

近日杭州银行核心系统上线,走出了一条的适合自己的实践道路, 其秉承的 应用与基础设施解耦 的架构思想, 分布式透明化 的设计开发理念对同行业具有很 大参考意义。在既保持了原有使用习惯的基础上,又在整体架构路线方面选择了可持续创新的架构。未来,希望广大金融 IT 从业者,在面临国产化升级的整体规划上,既需要考虑企业当前现状,也能充分瞄准未来架构的延伸性,以创新的思维推动银行核心系统的整体升级,共同助力中国金融的数字化转型。文章来源地址https://www.toymoban.com/news/detail-830096.html

到了这里,关于“分布式透明化”在杭州银行核心系统上线之思考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni小程序canvas实现图像灰度和透明化

    在小程序原生中也一样,只不过uni改成wx 不管是在uni还是在原生都要指定 canvas  2d类型,如果不指定类型的话,透明化会有问题。  初始化完成以后通过 getImageData属性获取到画布中每一个像素的rgba值 灰度值 透明化(如果canvas没有配置type类型的情况下,修改data[i+3] = 0是不会

    2024年02月12日
    浏览(37)
  • 【Python】实现一个类似于Glass2k的Windows窗口透明化软件

            网上看到一款Windows下的窗口透明化工具Glass2k(Glass2k官网),可以简单地通过快捷键实现任意窗口的透明化,还挺方便的,想用Python自己实现一下类似的功能。          软件已经开源到 :窗口透明化小工具开源地址         效果图如下:         工具包含以

    2024年02月22日
    浏览(34)
  • YOLOv8及其改进系列(五) modules.py 文件划分子集 | 标签透明化与文字大小调节 | 框粗细调节

    最近 YOLOv8 的官方项目又迎来了一个大更新,这次更新对基础不好的同学影响可能比较大, 这次更新主要就是将原本的 ultralytics/nn/modules.py 拆分成了以下 6 个文件: _init_.py block.py conv.py head.py trasnformer.py utils.py 有的同学可能不知道该加哪里了,我这里给大家说一下 我们原本的

    2024年03月16日
    浏览(124)
  • 全球银行最大分布式核心系统全面上线,邮储银行做到了!

    摘要: 近年来,国家陆续出台金融科技相关政策,提出创新驱动发展战略,强调以新一代信息和网络技术为支撑,拓展互联网金融,促进技术创新和商业模式创新的融合。 本文分享自华为云社区《全球银行最大分布式核心系统全面上线,邮储银行做到了!》,作者: GaussD

    2024年02月06日
    浏览(36)
  • 专注分布式架构 莱商银行的数字化转型实践

    本文刊登于《金融电子化》杂志 2022 年 12 月下,作者魏汝浩为莱商银行首席信息官。 2021 年 12 月 29 日,中国人民银行印发《金融科技发展规划(2022—2025 年)》(银发〔2021〕335 号),提出新时期金融科技发展指导意见,明确金融数字化转型的总体思路、发展目标、重点任

    2023年04月16日
    浏览(45)
  • TiDB x 汉口银行丨分布式数据库应用实践

    汉口银行是一家城市商业银行,近年来专注科技金融、民生金融等领域。在数据库国产化改造中,汉口银行引入了 TiDB 数据库,并将其应用在重要业务系统:头寸系统中,实现了一栈式的数据服务,同时满足了高并发、低延时、数据一致性和高可用需求,解决了传统数据库的

    2024年02月06日
    浏览(38)
  • 【分布式】分布式锁

    单机多线程: 在 Java 中,我们通常使用 ReetrantLock 类、synchronized 这类 本地锁 来控制一个 JVM 进程内的多个线程对本地共享资源的访问 分布式系统: 不同的服务/客户端通常运行在独立的 JVM 进程上。如果 多个 JVM 进程共享同一份资源 的话,使用本地锁就没办法实现资

    2024年02月14日
    浏览(48)
  • 分布式系统中的分布式链路追踪与分布式调用链路

    本文分享自天翼云开发者社区《分布式系统中的分布式链路追踪与分布式调用链路》,作者:c****w 在分布式系统中,由于服务间的调用关系复杂,需要实现分布式链路追踪来跟踪请求在各个服务中的调用路径和时间消耗。这对问题排查和性能监控都很重要。 常用的分布式链

    2024年01月19日
    浏览(55)
  • 【分布式】分布式ID

    分布式场景下,一张表可能分散到多个数据结点上。因此需要一些分布式ID的解决方案。 分布式ID需要有几个特点: 全局唯一(必要) :在多个库的主键放在一起也不会重复 有序(必要) :避免频繁触发索引重建 信息安全 :ID连续,可以根据订单编号计算一天的单量,造成

    2024年02月07日
    浏览(49)
  • 【分布式】分布式存储架构

    说到分布式存储,我们先来看一下传统的存储是怎么个样子。 传统的存储也称为集中式存储, 从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的,但集中式存储并不是一个单独的设备,是集中在一套系统当中的多个设备,比如下图中的 EMC 存储就需

    2024年02月10日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包