【问题标题】:How does any syncronous request works in asycrounous microservices enviorment?任何同步请求如何在异步微服务环境中工作?
【发布时间】:2019-11-12 11:24:00
【问题描述】:

让我们看看我有一个微服务 A、B、C 和 D,它们使用消息代理 (Kafka) 进行异步通信。如果服务 A 是面向 UI 的服务接受依赖于 B 和 C 的事务的同步请求。现在服务 A 将消息放入消息代理队列中,该队列已经有一些消息要处理,然后请求必须等到我们从其他人那里得到响应服务。 您将如何设计这种类型的微服务通信? 如果我们需要同步和异步两种类型的通信。

【问题讨论】:

    标签: microservices software-design distributed-system


    【解决方案1】:

    您将如何设计这种类型的微服务通信?

    这取决于。您所描述的同步通信使用请求-响应模式,而异步通信通常(并非总是)使用发布-订阅模式 在像你这样的情况下。

    能否使用请求-响应模式取决于你对响应时间的要求。

    您是否可以在您的面向用户界面的服务中使用发布-订阅取决于技术要求,例如如果您可以使用 gRPCRSocket 之类的库、MQTT 客户端或其他具有 pub-sub 语义的库。

    对我来说,在这些情况下使用任何类型的 pub-sub 协议感觉更自然。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 1970-01-01
      相关资源
      最近更新 更多