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

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

img_2926af027256695db1e4d61b5aa5baef.png

X轴缩放

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

Y轴缩放

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

Z轴缩放

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

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

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

Z轴缩放具有许多优点

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

Z轴缩放有一些缺点

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



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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值