微服务体系三维可缩放模型

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 在此模型中,通过在负载均衡器后面运行复制的实例来扩展应用程序,称为X轴缩放。微服务架构是Y轴缩放的应用,数据分区模式是Z轴缩放的应用。X轴缩放X轴缩放包括在负载均衡器后面运行的应用程序的多个副本。

在此模型中,通过在负载均衡器后面运行复制的实例来扩展应用程序,称为X轴缩放。微服务架构是Y轴缩放的应用,数据分区模式是Z轴缩放的应用。

img_2926af027256695db1e4d61b5aa5baef.png

X轴缩放

X轴缩放包括在负载均衡器后面运行的应用程序的多个副本。如果有N个副本,则每个副本处理1 / N的负载。
这是一种简单,常用的扩展应用程序的方法。
这种方法的一个缺点是,由于每个副本可能访问所有数据,因此高速缓存需要更多的内存。这种方法的另一个问题是,它没有解决大型应用程序开发复杂性的问题。

Y轴缩放

Y轴缩放将应用程序拆分为多个不同的服务。每项服务都负责一项或多项密切相关的职能。
有几种不同的方法可以将应用程序分解为服务。一种方法是使用基于动词的分解并定义实现单个用例的服务。另一种选择是通过名词来分解应用程序,并创建负责与特定实体相关的所有操作的服务。应用程序也可能混合使用基于动词和基于名词的分解方式。

Z轴缩放

使用Z轴缩放时,每个服务器都运行相同的代码副本。在这方面,它类似于X轴缩放。最大的区别是每个服务器只负责数据的一个子集。系统的某些组件负责将每个请求路由到适当的服务器。
一种常用的路由标准是根据请求的属性,例如被访问实体的主键。另一种常见的路由标准是客户类型。例如,通过将其请求路由到具有更多容量的不同服务器集,应用程序可以为付费客户提供比免费客户更高的服务等级。

Z轴分割通常用于缩放数据库

基于每个实体的数据行,通过一组数据库对数据进行分区(也称为分片)。

Z轴缩放具有许多优点

  • 每个数据库服务器仅处理数据的子集;
  • 这可以提高缓存利用率并减少内存使用和I / O流量;
  • 它还提高了事务可伸缩性,因为请求通常分布在多个数据库服务器上;
  • Z轴缩放可改善故障隔离,因为故障只会使部分数据不可访问。

Z轴缩放有一些缺点

  • 应用程序复杂性增加;
  • 需要实现一个分区方案,这可能很棘手,特别是如果我们需要重新分区数据;
  • 不能解决大型应用程序开发复杂性的问题。要解决这些问题,我们需要Y轴缩放



你现在的气质里,藏着你走过的路,读过的书,爱过的人。


目录
相关文章
|
7月前
|
缓存 微服务
01.【微服务架构】服务注册与发现:AP和CP,你选哪个?-- 服务注册与发现模型
【5月更文挑战第1天】本文探讨了服务注册与发现的关键作用,在微服务架构中,这一概念常出现在面试中。文章深入讲解基础模型,包括服务端注册、心跳维持、客户端缓存及服务端下线流程,并强调了高可用性的重要性,涉及服务端崩溃检测、客户端容错和注册中心选型。通过分析客户端、注册中心和服务端之间的交互,提出如何应对潜在故障的策略,以构建稳定的微服务架构。
65 3
01.【微服务架构】服务注册与发现:AP和CP,你选哪个?-- 服务注册与发现模型
|
7月前
|
微服务 中间件 Nacos
01.【微服务架构】服务注册与发现:AP和CP,你选哪个?-- 面试准备+基本模型
【5月更文挑战第2天】面试准备应涵盖公司所使用的注册中心类型及其优缺点,了解其集群规模、QPS和机器性能。准备故障排查及优化案例。若公司未采用微服务,可熟悉ZooKeeper、Nacos或etcd的基本特性以讨论注册中心概念。面试时,可将话题引导至服务注册与发现,如被问及特定中间件,阐述为何选择它并讨论优缺点。当涉及微服务高可用性时,可强调服务注册与发现的作用。基础模型部分,需解释服务上线和下线流程,提及注册数据和分组功能,并举例说明。最后,简述服务注册与发现的高可用挑战。
150 8
|
SQL Java 数据库
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
243 0
|
运维 Java Serverless
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
1193 0
|
运维 Cloud Native 架构师
倒计时 3 天!5 大议题带您探索微服务和云原生大模型的落地经验(北京站)
倒计时 3 天!5 大议题带您探索微服务和云原生大模型的落地经验(北京站)
|
7月前
|
Dubbo Java 应用服务中间件
微服务框架(十八)Dubbo领域模型、调用链及调用方式
此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。本文为Dubbo领域模型、调用链及调用方式 Protocol是服务域,它是 Invoker 暴露和引用的主功能入口,它负责Invoker的生命周期管理。Invoker是实体域
|
运维 负载均衡 监控
微服务系列 2:微服务化框架的模型和治理能力设计
微服务系列 2:微服务化框架的模型和治理能力设计
|
运维 Kubernetes Dubbo
基于开源体系的云原生微服务治理实践与探索
2020 年,公司正式开始探索落地 Service Mesh 项目。目前,相关产品已经在生产环节正式落地,正在进行接入推广工作。
基于开源体系的云原生微服务治理实践与探索
|
存储 JSON Dubbo
54-微服务技术栈(高级):微服务网关Soul(Soul数据库模型设计)
了解一下数据库设计,可以帮助我们对于Soul框架有更好的认知
170 0
|
开发框架 数据安全/隐私保护 微服务
SpringCloud微服务实战——搭建企业级开发框架(二十一):基于RBAC模型的系统权限设计
RBAC(基于角色的权限控制)模型的核心是在用户和权限之间引入了角色的概念。取消了用户和权限的直接关联,改为通过用户关联角色、角色关联权限的方法来间接地赋予用户权限,从而达到用户和权限解耦的目的,RBAC介绍原文链接。 RABC的好处
440 55
SpringCloud微服务实战——搭建企业级开发框架(二十一):基于RBAC模型的系统权限设计