写点什么

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

2021 年 4 月 28 日

如何快速重构万级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 年 4 月 28 日 10:161163
用户头像
罗燕珊 InfoQ中文站记者

发布了 98 篇内容, 共 34.1 次阅读, 收获喜欢 140 次。

关注

评论

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

华仔训练营第一次作业

方堃

模块一,学习总结

俞立夫

架构实战营

架构实战营 - 模块一作业

凯迪

架构实战营

容器的生命周期状态变化

耳东

容器 4月日更

架构师训练营大作业一

潘涛

架构师训练营 4 期

8x Flow 业务建模法(二):再看什么是业务逻辑

胡皓

领域驱动设计 DDD 业务建模 8xFlow 业务逻辑

零基础学Tableau系列 | 04—标靶图、甘特图、瀑布图

不温卜火

数据可视化 数据清洗 4月日更

Java 多线程

anuyyy

Java 多线程 Runnable 4月日更

架构实战营第一模块命题作业

Geek_993581

架构实战营

算法训练营 - 学习笔记 - 第一周

心在飞

[架构实战营][0期]模块1作业

张民

架构实战营

Linux awk命令

一个大红包

4月日更

go每日一库 [cmd]

happlyfox

golang 4月日更

u盘偷猎系统源代码

赫鲁小夫

4月日更

模块一作业

Presley

像智能手机一样造车,可能吗?

脑极体

逻辑运算符

在即

28天写作 28天挑战 3月日更

强化学习—DQN:不讲前世,就论今生

打工人!

深度学习 强化学习 深度强化学习 图解源码分析 DQN

【架构实战营】第一模块作业

hiqian

Redis 数据倾斜和集群内通信开销

escray

redis 极客时间 学习笔记 3月日更 Redis 核心技术与实战

广告投放预算低?千人成本低才是真的省!

󠀛Ferry

七日更 4月日更

Redis数据结构zset详解:范围查找

程序员架构进阶

redis 源码分析 Zset 28天写作 4月日更

聪明人的训练(四)

Changing Lin

4月日更

Git命令大全,Git基本了解

Chalk

git 学习 4月日更

架构实战营第一模块课程总结

Geek_993581

架构实战营

第一课作业

杰语

【架构实战营】第一模块总结

hiqian

架构实战营

架构实战营-模块1-作业

莫问

架构实战营

配置中的动态代码

顿晓

配置化开发 Function 4月日更 动态函数

架构师训练营大作业二

潘涛

架构师训练营 4 期

当你的内心归于平静,美好便会悄然而至

小天同学

自我思考 个人感悟 个人总结 4月日更

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