【问题标题】:Microservice architecture with API Gateway talking to Message Broker instead of directly to Microservices [closed]使用 API 网关与消息代理而不是直接与微服务通信的微服务架构 [关闭]
【发布时间】:2018-10-21 06:13:49
【问题描述】:

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

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

【问题讨论】:

  • 不太确定您要解决的具体问题是什么,但 Web 服务通常与消息代理进行通信,因为这是它们与其他服务通信的方式。

标签: docker architecture rabbitmq microservices messagebroker


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2022-06-17
    • 2019-04-06
    • 2017-06-09
    • 2019-10-01
    • 1970-01-01
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    相关资源
    最近更新 更多