首页 > 解决方案 > 微服务架构设计题

问题描述

假设我使用rest call在所有部分进行通信

我发现大多数微服务架构师是这样的: 在此处输入图像描述

如果有请求需要所有这些服务来计算结果。请求路径如下:

client->Account Service -> Inventory Service ->Shipping Service

道路漫长而复杂。如果 Account Service 后出现错误,我需要通过 Saga 模式进行补偿。

我想问一下,我可以在这些服务之上添加一个逻辑单元“A”,如下所示: 在此处输入图像描述

这样我就可以处理此服务上的所有逻辑。这些服务仅帮助逻辑单元查询和调整原始数据。所有复杂的逻辑都在逻辑单元中进行。

标签: microservices

解决方案


我可以在这些服务之上添加一个逻辑单元“A”吗

可以做任何你想做的事。你是否应该这样做取决于你。没有规定微服务不应该相互调用的规则,尽管流行的观点会引导你尽量避免它。

您面临的决定是所谓的“编排与编排”的权衡。在做出决定之前,您应该阅读此内容。

编排与编排


推荐阅读