zoukankan      html  css  js  c++  java
  • 微服务体系三维可缩放模型

    本文说明了微服务体系的可缩放模型中,3种维度上缩放能力的优缺点。

    X轴缩放

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

    Y轴缩放

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

    Z轴缩放

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

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

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

    Z轴缩放具有许多优点

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

    Z轴缩放有一些缺点

    • 应用程序复杂性增加;
    • 需要实现一个分区方案,这可能很棘手,特别是如果我们需要重新分区数据;
    • 不能解决大型应用程序开发复杂性的问题。要解决这些问题,我们需要Y轴缩放
  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/yorkwu/p/9290077.html
Copyright © 2011-2022 走看看