责任链
问题说明
微服务架构将应用程序构建为一组松散耦合的微服务,每个服务都可以以敏捷的方式独立开发,以实现持续交付/部署。 现在,如果一个服务需要另一个服务的输出作为依赖项,那么如何处理这种情况。
解决方案
我们可以使用责任链模式。 顾名思义,这种构图模式将遵循链式结构。 在这里,我们不会使用客户端和服务层之间的任何内容。 相反,我们将允许客户端直接与服务进行通信,并且所有服务将以这样的方式链接起来,即一个服务的输出将成为下一个服务的输入。 下图显示了典型的链式模式微服务。
缺点
这种架构的一个主要缺点是,客户端将被阻塞,直到整个过程完成。 因此,强烈建议保持链条的长度尽可能短。