网商银行×SOFAStack:首家云上银行的微服务架构实践与演进

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 网商银行微服务架构的应用实践。

本文整理自 2019 云计算开源产业大会网商银行高级技术专家蒋易民的演讲。本文将带读者深入了解网商银行微服务架构的应用实践。

1

网商银行架构现状概览

网商银行依托于蚂蚁金服自主研发的金融级分布式数据库 OceanBase、金融级分布式架构 SOFAStack 等产品,打造了基于微服务的单元化架构,建设成了国内首家三地五中心私有云部署的互联网银行。

2

网商银行全业务三地五中心异地多活的架构体系,提供了跨机房、跨地域的可伸缩、高可用的服务计算能力,能够做到弹性资源分配与全局流量管控,具有海量数据处理和计算能力,有效地提升了网商银行业务连续性保障水平。

凭借异地多活架构体系的支撑,网商银行具备“随时随地、按需扩容、随时切换”的全业务容灾和应急响应能力,为银行业从传统 IOE 架构体系向分布式云计算体系转型和持续演进提供了成功的范例。

微服务架构分层,服务拆分

网商银行充分拓展了单元化架构的应用场景和架构能力,建设了可伸缩微服务架构,对核心底层业务处理逻辑进行抽象,对单个系统进行职责边界划分、架构分层与服务拆分。具体分为基础服务层、核心层、业务产品层、渠道层、开放层、运营层等。

服务拆分还可以基于业务类型、读写、联机/批量/后台、领域类型、关键链路、发版频率、单元化约束、组织结构等方面来考虑。

3

微服务架构下的全链路压测

网商银行构建了微服务架构下的全链路压测能力,通过 SOFAStack 中间件提供的能力对真实业务流量和模拟压测流量进行有效的安全隔离,让用户在无感知前提下进行系统压力预演,在真实线上生产环境中模拟用户规模、业务场景和交易请求量级,有针对性地进行系统调优,资源调整,是对生产环境的一次高仿真模拟考试。通过全链路压测有效地降低了架构升级风险,有力地保障了生产系统稳定运行。

4

跨地域多机房部署的微服务

网商银行主要基于容量、容灾、容错、性能和成本这几个方面,来考虑微服务的跨地域多机房部署,建设异地多活能力。

5

网商银行在微服务架构基础之上,从非单元化升级到单元化架构,实现了微服务跨地域多数据中心部署。单元化架构的核心是确保南北向和东西向流量的有序、受控、收敛,尽量避免数据层流量跨数据中心。通过分片位的调整,可以进一步缩小单个单元承载的用户量,同时将不同单元部署到更多地域,具备无限扩容的基础。

6

多层次跨地域一键无损容灾切换

网商银行实现了多层次跨地域一键无损容灾切换能力。通过一键化的操作方式执行容灾预案,保证业务的高可用性和连续性,达到了 RPO(Recovery Point Objective)为零、RTO(Recovery Time Objective)为数分钟的容灾能力,可提供十亿级账户和百亿级日交易量处理能力。在大规模的银行交易系统中实现这样的容灾能力,这在银行业属于首创,不仅提升了自身业务连续性保障水平,同时也为银行业探索高标准容灾方案开拓了新思路。

7

走向云原生,拥抱Service Mesh

随着云原生时代的来临,Service Mesh 成为微服务架构未来发展的必然方向,网商银行积极拥抱,将借助蚂蚁金服 SOFAStack 中间件和 SOFAStack CAFE(Cloud Application Fabric Engine)云应用引擎建设相关的支撑能力,为 Mesh 化架构落地提供了大规模运维的基础。

8

基于云原生技术,网商银行成为中国首家将核心系统架构在金融云上的互联网银行。在 2018 年双十一大促期间,网商银行底层架构全面升级,具备上千节点、上万容器组的编排调度能力,支撑了整体业务容量和峰值 TPS 的大幅增长。

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

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
2天前
|
机器学习/深度学习 运维 Prometheus
探索微服务架构下的系统监控策略
【4月更文挑战第18天】在当今快速迭代和持续部署盛行的软件工程实践中,微服务架构因其灵活性和可扩展性受到企业青睐。然而,随着服务的细粒度拆分和网络通信的增加,传统的监控手段已不再适用。本文将探讨在微服务环境中实施有效系统监控的策略,包括日志聚合、性能指标收集、分布式追踪以及异常检测等关键技术实践,旨在为读者提供构建稳定、可靠且易于维护的微服务系统的参考指南。
7 0
|
2天前
|
监控 持续交付 开发者
构建高效微服务架构:后端开发的新趋势
【4月更文挑战第18天】在数字化转型的浪潮中,微服务架构已成为企业提升系统灵活性、加速产品迭代的关键。此文深入探讨了构建高效微服务架构的实践方法,包括服务划分原则、容器化部署、持续集成/持续部署(CI/CD)流程以及监控与日志管理等关键技术点。通过分析具体案例,揭示了微服务在提高开发效率、降低维护成本及促进团队协作方面的显著优势。
|
3天前
|
消息中间件 运维 监控
现代化软件开发中的微服务架构设计与实践
本文将深入探讨现代化软件开发中微服务架构的设计原则和实践经验。通过分析微服务架构的优势、挑战以及常见的设计模式,结合实际案例,帮助开发者更好地理解如何构建可靠、可扩展、高效的微服务系统。
|
3天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
3天前
|
敏捷开发 监控 前端开发
深入理解自动化测试框架Selenium的架构与实践
【4月更文挑战第16天】 在现代软件开发过程中,自动化测试已成为确保产品质量和加快迭代速度的关键手段。Selenium作为一种广泛使用的自动化测试工具,其开源、跨平台的特性使得它成为业界的首选之一。本文旨在剖析Selenium的核心架构,并结合实际案例探讨其在复杂Web应用测试中的高效实践方法。通过详细解读Selenium组件间的交互机制以及如何优化测试脚本,我们希望为读者提供深入理解Selenium并有效运用于日常测试工作的参考。
11 1
|
4天前
|
监控 JavaScript 安全
构建微服务架构下的API网关
【4月更文挑战第15天】在微服务架构中,API网关扮演着至关重要的角色。它作为系统的唯一入口,不仅负责请求的路由、负载均衡和认证授权,还涉及到监控、日志记录和服务熔断等关键功能。本文将探讨如何构建一个高效且可靠的API网关,涵盖其设计原则、核心组件以及实现策略,旨在为后端开发人员提供一套实用的指导方案。
19 4
|
5天前
|
监控 负载均衡 API
构建高性能微服务架构:后端开发的最佳实践
【4月更文挑战第14天】 在当今快速发展的软件开发领域,微服务架构已成为构建可扩展、灵活且容错的系统的首选方法。本文深入探讨了后端开发人员在设计和维护高性能微服务时需要遵循的一系列最佳实践。我们将从服务划分原则、容器化部署、API网关使用、负载均衡、服务监控与故障恢复等方面展开讨论,并结合实际案例分析如何优化微服务性能及可靠性。通过本文的阅读,读者将获得实施高效微服务架构的实用知识与策略。
|
6天前
|
Linux 数据安全/隐私保护
Linux基础与服务器架构综合小实践
【4月更文挑战第9天】Linux基础与服务器架构综合小实践
1192 6
|
7天前
|
运维 监控 自动驾驶
构建可扩展的应用程序:Apollo与微服务架构的完美结合
构建可扩展的应用程序:Apollo与微服务架构的完美结合
30 10
|
11月前
|
Kubernetes 供应链 算法
【开源之夏 2023】欢迎报名 SOFAStack 社区项目!
开源之夏是由“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展,培养和发掘更多优秀的开发者。 活动联合国内外各大开源社区,针对重要开源软件的开发与维护提供项目任务,并面向全球高校学生开放报名。