Microservice Architecture 简明教程
Composition Patterns
软件组合是指构建软件产品的方法。它基本上涉及高级软件架构图,其中软件的不同模块将针对特定业务目标进行通信。在本章中,我们将了解组织中广泛使用的不同软件组合模式。在微服务中,我们将每个功能拆分为一个进程。这些服务中的每一个都将具有独立性和全栈特性。
功能分解在构建微服务中发挥着重要作用。它为您的应用程序提供了敏捷性、灵活性和可伸缩性。
Aggregator Pattern
聚合器模式是最简单的 Web 模式,可以在开发微服务时实现。在此组合模式中,一个简单的 Web 模块将充当负载平衡器,这意味着它将根据要求调用不同的服务。以下是描绘具有聚合器设计的简单微服务 Web 应用程序的图表。如下面的图像所示,“聚合器”负责逐个调用不同的服务。如果我们需要对服务 A、B 和 C 的结果应用任何业务逻辑,那么我们可以在聚合器本身中实现业务逻辑。
聚合器可以再次对外界公开为另一项服务,其他人可以在需要时使用它。在开发聚合器模式 Web 服务时,我们需要记住,我们的每个服务 A、B 和 C 都应该有自己的缓存层,并且它本质上应该是全栈的。
Proxy Pattern
代理微服务模式是聚合器模型的一个变体。在这个模型中,我们将使用代理模块来代替聚合模块。代理服务可以单独调用不同的服务。
在代理模式中,我们可以通过提供一个转储代理层来构建一级的额外安全。该层的作用类似于接口。
Chained Pattern
顾名思义,此类型的组合模式将遵循链式结构。在这里,我们不会在客户端和服务层之间使用任何内容。相反,我们将允许客户端直接与服务进行通信,并且所有服务将以这样的方式链接在一起,即一个服务的输出将成为下一个服务的输入。下图显示了一个典型的链式模式微服务。
这种架构的一个主要缺点是,客户端将在整个过程完成前被阻止。因此,强烈建议将链条的长度尽可能短。