写点什么

如何快速重构万级 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:163067
用户头像
罗燕珊 AI practitioner | Tech media

发布了 539 篇内容, 共 401.3 次阅读, 收获喜欢 849 次。

关注

评论

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

参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!

阿里巴巴云原生

开源 开发者 云原生 dubbo 中间件

阿里云原生开源大家族加入中科院软件所开源软件供应链点亮计 - 暑期 2021

阿里巴巴云原生

开源 容器 微服务 开发者 云原生

飞猪基于 Serverless 的云+端实践与思考

阿里巴巴云原生

Serverless 容器 运维 云原生 监控

部署混合云环境的5大挑战

云计算

超级详细!全网独家首发的SpringCloud Alibaba 到底有多强?

Java 程序员 架构 面试

高级软件工程师必备的五大技能

架构精进之路

5月日更

IO

ltc

IO流

面向WEB开发人员的Docker(五):部署开发WordPress

devpoint

Docker Wordpress 部署 Docker-compose

(VMware)ubuntu环境下搭建Swarm+Stack一站式部署容器集群

逸少

Docker Docker Swarm Docker-compose Ubuntu20.04

首届HarmonyOS开发者创新大赛颁奖典礼于深圳召开

科技汇

玩转直播系列之消息模块演进(3)

vivo互联网技术

Java 服务器 消息系统 直播技术

仰望天空,脚踏实地 —— CODING OKR 全新上线

CODING DevOps

团队管理 OKR

☕【JVM 技术之旅】让你完全攻克内存溢出(OOM)这一难题(上)

码界西柚

JVM OOM 异常 Exception 5月日更

ETL-KETTLE工具使用

this

Java 数据 数据同步 ETL

推荐计划 | 推荐好友用 CODING,获高额返现奖励

CODING DevOps

团队管理 敏捷开发 研发工具 开发团队

throw与throws的区别学习笔记

风翱

异常 5月日更

数据湖vs数据仓库vs数据集市

数据社

数据仓库 数据湖 5月日更

华为HMS生态和1+8+N的交叉点,点透棋局的华为帐号

脑极体

存储技术入门,这些硬件应该首先有所了解

SunnyZhang的IT世界

服务器 存储 交换机 san

redis sentinel架构

王瑞强

使用Excel调用ABAP系统的函数

汪子熙

Excel Office SAP abap

C4C和CRM里获取当前登录用户分配的Organization Unit

汪子熙

CRM SAP C4C Cloud for Customer

Kubernetes 普及系列:容器基础入门

CODING DevOps

Kubernetes

5分钟速读之Rust权威指南(八)

wzx

rust

双非渣硕也能上岸?痛述阿里Java岗7轮技术面经历,险幸上岸

Java 程序员 架构 面试

论:在996的天下,Java程序员该如何高效学习

Java架构师迁哥

为什么5、6月会空缺出大量技术岗?跳槽注意事项+面试官关心什么

Java架构师迁哥

程序员写好技术文章的几点小技巧

阿里巴巴云原生

程序员 云原生 写作 写作技巧

百度 Serverless 架构揭秘与应用实践

百度开发者中心

百度 开源 Serverless 云原生

简单了解 MySQL 中相关的锁

leonsh

MySQL 后端

科大讯飞语音转文字以及中文分词的Java测试代码

汪子熙

Java 人工智能

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