在网商银行金融级云原生分布式架构的探索与实践

简介: 网商银行正在构建金融级云原生分布式架构,迎接云原生时代的到来。

网商银行从诞生之日起就是一家将核心系统架构在云上的银行,经过多年建设,逐步完成了两地三中心架构到异地多活云单元架构的升级。中国人民银行出台的《金融科技(Fin-Tech)发展规划(2019-2021年)》提出合理布局云计算,统筹规划云计算在金融领域的应用,随着云计算技术不断发展,云原生技术日趋成熟,云基础设施的重大变化带来研发场景、软件生产模式的一系列变革,网商银行密切关注业内发展趋势,目前正在构建金融级云原生分布式架构,为业务发展提供安全、稳定、高效和敏捷的基础设施能力,迎接云原生时代的到来。

—本文首发自“金融电子化”公众号

网商银行技术架构演进

网商银行经历了三次大的技术架构变迁。从建站开始,网商银行就是架构在云计算基础设施之上,使用云平台架构支撑业务开展,交付模式上使用基于经典虚拟机的发布包模式。随着业务量增长,两地三中心的架构已经无法满足业务发展需求,需要升级扩展性更好的架构,另外银行金融业务的属性需要在容灾能力上有更高的要求,因此网商银行从传统的云架构升级到了异地多活云单元架构。云原生技术持续发展,为我们带来了安全可信、节约成本和敏捷开发的能力,随着业务的发展,对于运维效率、扩展性、可迁移性、精细化管控的更高要求驱使着基础设施往云原生的架构体系演进,网商银行拥抱新兴技术架构,正在逐步演进到云原生架构。

金融级云原生分布式架构为业务带来的价值

当前云原生社区持续火热,云原生计算基金会(CNCF)在2018年为云原生进行了重新定位:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API,这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

随着云原生技术的不断迭代演进,云原生产品能力也在不断成熟和完善,云原生架构逐渐成为多家互联网机构及金融行业机构架构选型方向。容器编排Kubernetes技术承载了云原生时代统一资源调度的目标,通过统一资源调度,可以有效提升资源利用率,极大节省资源成本,通过在弹性资源交付、集群规模化服务以及技术风险与自动化运维上持续建设能力,让Kubernetes逐渐成为下一代云操作系统基础设施。服务网格技术是云原生架构核心,与SOA体系相比,服务网格将RPC、消息、DB访问等基础底层能力下沉,与业务系统部署解耦,给业务系统带来透明的通信基础设施,减轻业务负担,加速基础设施演进速度。基于云原生的混合云弹性架构为业务低成本快速扩缩容提供了可行性方案,跨云弹性资源统一管控实现了资源灵活调度,根据业务量进行弹性云的资源动态使用,进一步降低了资源成本。

网商银行云原生架构升级的挑战与目标

1.云原生架构升级挑战。首先是基础设施的大面积更新换代,从底层的资源调度到上层的PaaS、中间件都要做云原生架构的适配改造,以满足应用层云原生接入要求;其次是架构升级平滑演进的问题,在平台产品层面需要做到已有单元化架构和新的云原生架构的兼容,保障架构的平滑过渡,在研发模式层面,需要从传统的代码包交付模式过渡到容器镜像为载体的云原生交付模式,整个过程要尽可能少的改变用户操作习惯。再次是架构升级带来的运维体系及安全生产的挑战,新的云原生产品的引入需要建设配套的基础运维能力,SaaS层应用运维模式的变化也给运维人员带来了新的挑战,另外新架构的引入带来了高可用、稳定性及变更管控等安全生产的挑战,需要不断建设配套的技术风险能力。

2.云原生架构升级目标。首先完成云原生基础设施产品的落地,并完成已有单元化架构平滑升级到云原生架构,为架构持续演进提供底层能力支撑。其次通过使用云原生新技术带来研发效能、资源效能、安全加固和运维能力提升,基础设施能力下沉后具备独立演进能力,降低应用开发投入成本,服务网格技术可实现业务低成本安全加固,降低业务风险,统一资源调度和混合云弹性架构支撑资源弹性伸缩,提高资源利用率降低资源成本投入,建设新的运维体系支撑云原生运维模式,实现可持续交付;再次网商银行探索云原生架构升级路径,沉淀一整套从经典架构迁移至先进架构的方法实践和产品,为行业提供技术实践参考。

网商银行云原生架构的探索与实践

1.混合云弹性架构。在云计算逐渐普及的情况下,无论是互联网公司还是传统IT企业都倾向于不被一朵云绑定,混合云架构已经成为一个大的IT系统演进趋势。网商银行基于统一的容器服务(兼容Kubernetes)进行应用的部署,可以解耦应用跟IAAS云底座的锁定关系,实现一个镜像多朵云部署。此外,网商银行在云单元架构的基础上通过业务链路动态识别技术,打造了按业务链路级别进行多云之间的流量弹入弹出能力,可以便捷高效地在多朵云之间进行流量调度,解决互联网时代面向突发流量及促销类活动的弹性扩缩容成本和效率问题。

2.不可变基础设施。传统的可变基础设施是基于物理机或虚拟服务器进行应用的部署,在不同环境之间可以通过动态配置下发或者实时访问外部服务更新应用的机器状态,整个基础设施一直处于一个变化的过程中,对于一些需要回滚的运维场景会比较复杂。网商银行采用镜像化部署模式,将应用依赖的基础设施(含配置)打包成不可变的镜像,可以做个多环境统一镜像,极大地降低了应用多环境的部署成本,同时对自动轮转替换、自动回滚等运维动作更友好,提升了基础设施运维的自动化水平。

3.服务网格。服务网格是网商银行下一代云原生架构中非常重要的一个基础设施,它把原来通过SDK集成的一些网络通信的能力下沉到Sidecar中,包括基本的RPC、消息、DB访问能力,以及在此基础上的服务发现、熔断、限流、流量管控、数据库分库分表的能力,以此给业务系统带来较为透明的通信基础设施,将基础设施的迭代演进跟业务系统解耦,让业务研发专注于业务逻辑,减轻业务系统的负担,提升业务系统及基础设施的迭代效率,实现专业的团队做专业的事情。另外Sidecar的引入也给业务系统的多语言发展提供了更大的可能性,通过服务网格技术可解决多语言、多技术栈之间的互连互通问题,有利于构建一个松耦合银行系统架构。

4.安全可信。网商银行在云原生架构探索实践过程中特别注重架构的安全能力,不断建设云原生基础上的安全可信架构。作为一家面向互联网的数字化银行,网商银行需要一套兼顾高效率与高安全性的IT系统架构,基于服务网格网商银行实现了核心应用服务的安全访问控制,整体上形成了核心系统的纵深防御能力覆盖,在保证业务研发效率的同时可以大幅度提升安全性。

5.离在线混部。随着集群规模化的提升,在线业务集群和离线集群资源池逐步变大,由于存在业务低峰期,在线和离线使用独立的资源池会遇到资源利用率的问题,一个比较明显的现象就是集群的资源分配率很高但是实际利用率偏低。为了解决资源利用率问题,网商银行在云原生架构建设过程中进行在线和离线集群混合部署,统一资源调度,以资源隔离和动态调整为基础,将不同属性类型的在线服务和离线计算类服务精确进行组合,利用高效调度算法和智能化的容量计算模型等技术手段完成资源的合理利用,提升资源错峰高效利用水平,降低IT成本。

总结及未来展望

云原生技术带来了更高层次的基础设施抽象,让研发的关注点从基础设施进一步分离,聚焦上层业务逻辑实现。网商银行通过探索和实践云原生架构升级,逐步落地了云原生相关的技术,为网商未来业务发展提供了先进的技术支撑,为架构持续演进打下了基础。面向互联网的数字银行IT系统设计越趋复杂,在业务需求快速变化的情况下,微服务的数量也呈指数级增长,传统的运维模式支撑如此大规模的分布式服务运维变得艰难,云原生架构简化了业务系统基础设施,更利于构建自动化的运维体系,降低人的介入难度。此外,随着银行业务的复杂化,金融核心组件的抽象是一个大趋势,中台化架构已经逐渐成为新一代软件系统集成模式的重要方向。在强调业务核心组件复用能力的同时,如何保证业务系统迭代的效率是需要面临的问题。在云原生的基础上,一些新的技术为研发效能提升提供了新的思路,比如Serverless等,云原生架构的落地,为银行基础架构在容量管理、运维管控等能力向自动化、智能化拓展打开了更广阔的发展空间。

金融行业的数字化转型需要构建有力的技术支撑体系和IT能力,网商银行期望通过自己的云原生架构落地实践为业界提供借鉴经验,也希望与同行共同探索未来金融行业的架构转型之路。

相关文章
|
10月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
765 2
|
10月前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
3625 1
|
10月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
11月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1523 3
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
1649 0
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
606 4
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
839 12
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
881 1

热门文章

最新文章