责任链

问题说明

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

解决方案

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

责任链设计模式

缺点

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