API 网关与 Message Broker 而非直接与微服务对话的微服务架构

Microservice architecture with API Gateway talking to Message Broker instead of directly to Microservices

实现 API 网关时的一个主要问题是您将该层与内部微服务耦合。 API 网关只直接与 Rabbit MQ 等消息代理通信,然后根据消息与微服务通信的架构是否存在?

在我看到的大多数架构指南中,消息代理仅用于微服务到微服务的通信。为什么不让它用于 API 网关和微服务到微服务的通信?

通常,API 网关与内部微服务通信的方式更多的是实现细节。没有什么能阻止您使用消息代理来实现这一点。

将 API 网关与实际微服务解耦的主要缺点是它使 API 调用的同步处理变得有点复杂。您通常最终实现的是某种长轮询机制。

因此,这仅取决于您的用例。如果我正在处理异步 APIs,那么我通常依赖消息代理来将前端与后端分离。