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

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

网商银行从诞生之日起就是一家将核心系统架构在云上的银行,经过多年建设,逐步完成了两地三中心架构到异地多活云单元架构的升级。中国人民银行出台的《金融科技(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能力,网商银行期望通过自己的云原生架构落地实践为业界提供借鉴经验,也希望与同行共同探索未来金融行业的架构转型之路。

相关文章
|
人工智能 安全 Java
分布式 Multi Agent 安全高可用探索与实践
在人工智能加速发展的今天,AI Agent 正在成为推动“人工智能+”战略落地的核心引擎。无论是技术趋势还是政策导向,都预示着一场深刻的变革正在发生。如果你也在探索 Agent 的应用场景,欢迎关注 AgentScope 项目,或尝试使用阿里云 MSE + Higress + Nacos 构建属于你的 AI 原生应用。一起,走进智能体的新世界。
1991 110
|
关系型数据库 Apache 微服务
《聊聊分布式》分布式系统基石:深入理解CAP理论及其工程实践
CAP理论指出分布式系统中一致性、可用性、分区容错性三者不可兼得,必须根据业务需求进行权衡。实际应用中,不同场景选择不同策略:金融系统重一致(CP),社交应用重可用(AP),内网系统可选CA。现代架构更趋向动态调整与混合策略,灵活应对复杂需求。
|
数据采集 消息中间件 监控
单机与分布式:社交媒体热点采集的实践经验
在舆情监控与数据分析中,单机脚本适合小规模采集如微博热榜,而小红书等大规模、高时效性需求则需分布式架构。通过Redis队列、代理IP与多节点协作,可提升采集效率与稳定性,适应数据规模与变化速度。架构选择应根据实际需求,兼顾扩展性与维护成本。
538 2
|
人工智能 安全 应用服务中间件
阿里巴巴 MCP 分布式落地实践:快速转换 HSF 到 MCP server
本文分享了阿里巴巴内部将大规模HSF服务快速转换为MCP Server的实践经验,通过Higress网关实现MCP协议卸载,无需修改代码即可接入MCP生态。文章分析了MCP生态面临的挑战,如协议快速迭代和SDK不稳定性,并详细介绍了操作步骤及组件功能。强调MCP虽非终极解决方案,但作为AI业务工程化的起点具有重要意义。最后总结指出,MCP只是AI原生应用发展的第一步,未来还有更多可能性值得探索。
1869 49
|
人工智能 Kubernetes 数据可视化
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
本文回顾了一次关键词监测任务在容器集群中失效的全过程,分析了中转IP复用、调度节奏和异常处理等隐性风险,并提出通过解耦架构、动态IP分发和行为模拟优化采集策略,最终实现稳定高效的数据抓取与分析。
340 2
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
|
监控 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注册中心服务 构建商品
1687 3
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
568 5
|
缓存 Cloud Native 中间件
《聊聊分布式》从单体到分布式:电商系统架构演进之路
本文系统阐述了电商平台从单体到分布式架构的演进历程,剖析了单体架构的局限性与分布式架构的优势,结合淘宝、京东等真实案例,深入探讨了服务拆分、数据库分片、中间件体系等关键技术实践,并总结了渐进式迁移策略与核心经验,为大型应用架构升级提供了全面参考。
|
监控 算法 关系型数据库
分布式事务难题终结:Seata+DRDS全局事务一致性架构设计
在分布式系统中,CAP定理限制了可用性、一致性与分区容错的三者兼得,尤其在网络分区时需做出取舍。为应对这一挑战,最终一致性方案成为常见选择。以电商订单系统为例,微服务化后,原本的本地事务演变为跨数据库的分布式事务,暴露出全局锁失效、事务边界模糊及协议差异等问题。本文深入探讨了基于 Seata 与 DRDS 的分布式事务解决方案,涵盖 AT 模式实践、分片策略优化、典型问题处理、性能调优及高级特性实现,结合实际业务场景提供可落地的技术路径与架构设计原则。通过压测验证,该方案在事务延迟、TPS 及失败率等方面均取得显著优化效果。
759 61
|
存储 NoSQL 前端开发
【赵渝强老师】MongoDB的分布式存储架构
MongoDB分片通过将数据分布到多台服务器,实现海量数据的高效存储与读写。其架构包含路由、配置服务器和分片服务器,支持水平扩展,结合复制集保障高可用性,适用于大规模生产环境。
816 1

热门文章

最新文章