责任链


问题陈述

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

解决方案

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

责任链设计模式

坏处

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