📜  微服务架构-扩展

📅  最后修改于: 2020-11-24 06:00:50             🧑  作者: Mango


伸缩是按不同单元分解软件的过程。扩展还根据可伸缩性进行定义。可伸缩性是实现应用程序更多高级功能的潜力。它有助于提高应用程序的安全性,耐用性和可维护性。我们在行业中遵循三种类型的缩放程序。以下是不同的缩放方法以及相应的实际示例。

X轴缩放

X轴缩放也称为水平缩放。在此过程中,整个应用程序细分为不同的水平部分。通常,任何Web服务器应用程序都可以具有这种类型的缩放比例。考虑一个遵循水平缩放的普通MVC架构,如下图所示。

X轴缩放

作为示例,我们可以考虑任何JSP Servlet应用程序。在此应用程序中,控制器控制每个请求,并在必要时通过与模型进行通信来生成视图。通常,单片应用程序遵循这种缩放方法。 X轴缩放本质上是非常基本的,并且非常节省时间。在这种方法中,将根据该单元负责的不同任务来缩放一个软件。例如,控制器负责控制传入和传出的请求,视图负责在浏览器中向用户表示业务功能,而模型负责存储我们的数据并将其用作数据库。

Y轴缩放

Y轴缩放也称为垂直缩放,其中包括任何资源级别的缩放。任何DBaaS或Hadoop系统都可以视为Y轴缩放。在这种类型的扩展中,通过实现一些逻辑来重定向和限制用户请求。

让我们以Facebook为例。 Facebook需要每秒处理179万用户。因此,控制流量是Facebook网络工程师的巨大责任。为了克服任何危险,它们遵循Y轴缩放,包括同时使用同一应用程序运行多个服务器。现在,为了控制这种巨大的流量水平,Facebook将所有流量从一个区域重定向到特定的服务器,如图所示。这种基于区域的流量传输在体系结构语言中称为负载平衡。

Y轴缩放

这种将资源分解为小型独立业务部门的方法称为Y轴缩放。

Z轴缩放

X和Y轴缩放非常容易理解。但是,也可以在业务级别缩放一个应用程序,这称为Z轴缩放。以下是在不同业务部门垂直扩展出租车服务应用程序的示例。

司机管理

扩展的优势

  • 成本-正确缩放软件将降低维护成本。

  • 性能-由于耦合松散,适当缩放的软件的性能总是比未缩放的软件更好。

  • 负载分配-使用不同的技术,我们可以轻松维护服务器负载。

  • 重用-软件的可扩展性也增加了软件的可用性。