免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

如何快速重构万级 TPS 银行交易核心应用

  • 2021-04-28
  • 本文字数:1619 字

    阅读完需:约 5 分钟

如何快速重构万级TPS银行交易核心应用

传统银行业务系统代码臃肿、模块颗粒大、开发效率低、新业务,新功能上线周期长。随着互联网金融创新日出,业务量迅速提升,当前 IT 技术架构面临极大压力和风险。银行主动实施架构转型,面向互联网场景的主要信息系统迁移至微服务架构的云计算平台是大势所趋。


4 月 25 日,在华为开发者大会 2021(Cloud)期间,深圳海付移通科技有限公司项目开发中心总经理胡军分享了主题为《基于华为云 构建万级 TPS 银行核心应用》的演讲。


畅销书作家、著名金融机构资深顾问布莱特·金(Brett King)根据银行的发展历程,把银行分为 4 个阶段:1.0 时代银行服务离不开物理网点,客户一定要到银行里面,银行的人员提供服务是全手动操作;2.0 时代银行开始引入计算机处理业务,通过 ATM、POS、网银,银行服务渠道得以被优化;3.0 移动支付阶段,通过智能手机,客户可以在任何时间、地点操作现金以外的业务;2017 年,开始进入银行 4.0,这时候银行开始引入一些新的技术,像 AI、AR/VR、大数据、区块链等,让银行的服务无处不在,不依附某个具体金融产品。


胡军表示,如今我们正处在 3.0 向 4.0 过度阶段。金融系统上云,底层基础设施云化是核心技术架构的演进趋势。


银行核心系统技术架构演进之路


胡军根据自己的一些经历,把银行核心系统技术架构总结成几个阶段趋势:最开始是大型机架构,接着是小型机架构、X86 架构,随着芯片性能越来越强大,后来出现了虚拟化架构(把计算机虚拟成一个资源池,通过资源池里的机器分配资源),再后面是容器化架构(Docker)、Cloud Native 架构(Cloud Native 阶段存在一个问题,应用和做服务治理的软件混合到一块,当底层的服务框架做升级改造之后,整个服务系统都要做重新的升级,对开发的速度和发布速度会有影响),现在则是 Service Mesh 架构阶段。


随着 ICT 技术不断进步,推动应用架构不断演进,应用架构经历了单体架构、3 层架构、垂直分层架构、SOA 架构和微服务架构等阶段。


近几年用得最多的是微服务,微服务架构的优点是可以把一个大的系统拆分成无数个小系统,让系统的问题变得简单化。利于团队内部做分工,也降低了新人学习的门槛,并且微服务架构的扩展性非常强。

从目前的情况来看,不管是互联网金融还是银行核心系统,微服务架构是当前被广泛采用的应用架构。

互联网核心架构


近几年第三方支付发展迅猛,银行的业务越来越难以去开展。客户首先是通过第三方支付来做业务,另外银行的业务的经营模式也变了,以前是银行等客户来上门,现在更多的是说银行要跟产业联盟,来做合作去达成共赢。


银行传统的核心不能满足新的互联网业务的发展需求。现在银行一般都会做双核驱动架构,一个是传统的老的核心,处理柜面业务,另外是互联网核心系统,基于互联网去开展业务。


新的互联网核心面临着高安全、高可靠、高性能和低成本等方面的技术挑战。



胡军展示了目前做的互联网核心系统的总体架构设计,基于云的 X86 架构实现,采用微服务架构。



互联网核心应用架构是分层架构,整个系统跑在华为云 K8S 上面。



整体部署架构是基于双核架构,和传统银行的两地三中心有所不同。AZ1 和 AZ2 同时对外提供服务,通过 DNS 做负载均衡。



使用到的华为技术组件关键特性


胡军介绍了搭建互联网核心系统时使用到的华为技术组件,包括 DTM、Kafka、集成 DCS 分布式缓存组件等等。


DTM 是分布式交易管理系统。华为 DTM 具备高可靠分布式事务处理能力,跨微服务事务、跨库事务管理、支持多数据源、非侵入式事务、TCC 事务、事务监控、高 TPS 事务处理能力及数据分析等功能场景,满足企业核心业务数据(如交易数据)的一致性需求。



Kafka 主要用于两个场景,支付成功后的异步处理和买券功能重试。



胡军表示,未来可能会引入华为 ServiceMesh,把跟我们的应用无关的服务治理的软件全部剥离出来,放进 Sidecar 里,对服务的升级和维护都更方便。


据悉,华为微服务框架提供 ServiceMesh 非侵入式方案,支持存量应用渐进式迁移,兼容 SpringCloud 主流开源社区,与业界生态能力互通,不绑定特定开发框架和平台,实现微服务应用的快速构建、实时监控和高可用。

2021-04-28 10:162704
用户头像
罗燕珊 InfoQ中文站编辑

发布了 469 篇内容, 共 304.7 次阅读, 收获喜欢 790 次。

关注

评论

发布
暂无评论
发现更多内容

高并发场景下如何优化服务器的性能?

冰河

Linux 并发编程 高并发 服务器 性能调优

精选算法面试-哈希表II

李孟聊AI

面试 算法 28天写作

怎样更好地阅读源码?

程序员架构进阶

方法论 开发 源码阅读 提升自我 28天写作

程序员行业半衰期太短,如何保持高效发展?

李忠良

28天写作

第3周总结-代码重构-使用UML类图表达程序逻辑

潘涛

架构师训练营 4 期

产品经理-新手

产品新手

道德困境 - 电车难题

石云升

28天写作 道德困境 电车难题

产品训练营-第一章作业

Arnold

产品经理训练营

产品经理岗位调研

发条檀木

产品经理训练营

单例模式作业

Geek_mewu4t

第11周-学习总结

Mr_No爱学习

作业 - 第一章 认识产品经理

hao hao

产品经理训练营

第 13 周作业

Steven

第一章 认识产品经理(上)

郭栋

产品经理训练营

产品经理训练营课后作业-第一周-认识产品经理

.nil?

产品经理训练营

案例研究之聊聊 QLExpress 源码 (八-2)

小诚信驿站

聊聊架构 28天写作 QLExpress源码 聊聊源码

币币撮合交易系统软件开发|币币撮合交易APP开发

系统开发

第11周-作业1

Mr_No爱学习

第3周课后练习-代码重构

潘涛

架构师训练营 4 期

读书笔记之互联网金融思考一则

石君

金融科技 互联网金融 28天写作

面试官问我:什么是静态代理?什么是动态代理?注解、反射你会吗?

Java鱼仔

Java 反射 动态代理 java反射

产品训练营第一周作业

懒杨杨

第一周

汪龙龙

第八周命题作业

cc

作业-第13周

arcyao

STM32通过rosserial接入ROS通讯开发

良知犹存

stm32 ROS

nodejs中的文件系统

程序那些事

nodejs 文件系统 异步IO 异步编程 程序那些事

企业需要DevSecOps来保证应用程序的安全

啸天

安全 DevSecOps 应用安全

第一周作业-产品经理岗位能力要求

林亚超

《认识产品经理》中的小金句与小尝试

学习高手song轻松

产品

第八周学习心得

cc

如何快速重构万级TPS银行交易核心应用_架构_罗燕珊_InfoQ精选文章