【发布时间】:2019-06-28 18:31:47
【问题描述】:
我目前正在编写一个包含大量微服务的 Web 应用程序。我目前正在探索如何在所有这些服务之间进行正确的通信,并且我决定坚持使用消息总线,或者更具体地说是 Apache Kafka。
但是,我有几个问题不知道如何从概念上解决。 我使用 API 网关服务作为应用程序的主要入口。它充当将操作转发到适用的微服务的主要代理。 考虑以下场景:
- 用户向 API 网关发送 POST 请求,其中包含一些信息。
- 网关生成新消息并将其发布到 Kafka 主题。
- 订阅的微服务获取主题中的消息并处理数据。
那么,我现在应该如何从网关响应客户端?如果我需要来自该微服务的一些数据怎么办?感觉 HTTP 请求可能会超时。我应该在客户端和 API 网关之间坚持使用 websocket 吗?
另外,如果客户端发送一个 GET 请求来获取一些数据,我应该如何使用 Kafka 来解决这个问题?
谢谢。
【问题讨论】:
标签: javascript node.js apache-kafka microservices backend