职责链模式



问题陈述

微服务架构将应用程序构建为一系列松耦合微服务,每个服务都可以以敏捷方式独立开发,以实现持续的交付/部署。那么,如果一个服务需要另一个服务的输出作为依赖项,该怎么处理这种情况呢。

解决方案

我们可以使用职责链模式。顾名思义,这种组合模式将遵循链式结构。这里,我们不会在客户端和服务层之间使用任何东西。相反,我们将允许客户端直接与服务通信,并且所有服务将以这种方式链接起来,以使一个服务的输出成为下一个服务的输入。下图显示了一个典型的链式模式微服务。

Chain of Responsibilities Design Pattern

缺点

这种架构的一个主要缺点是,客户端将在整个过程完成之前被阻止。因此,强烈建议将链的长度保持尽可能短。

广告