【问题标题】:Client to API gateway communication in microservices architecture微服务架构中客户端到 API 网关的通信
【发布时间】:2019-10-05 23:19:54
【问题描述】:

我已经阅读了几篇关于微服务之间通信的文章,我选择了微服务之间基于事件的通信模式,但是现在我想知道客户端应该如何通信,如果它向API 网关,它应该等待响应(由于内部微服务之间基于事件的通信性质,这可能需要一些时间)还是应该说“正在处理”并进行轮询以检查请求是否完成?

客户端-->api网关-->微服务通信的标准做法是什么?

【问题讨论】:

  • 网关模式在理想情况下应该不会对 HTTP 通信标准产生任何影响,这大概就是您将使用的。如果有一个打开的请求,那么您的调用者应该会看到这种情况。如果出现故障,调用者应该会看到适当的 HTTP 状态代码。无论如何,网关不应该真正消耗太多带宽。

标签: microservices


【解决方案1】:

大多数时候你会发现客户端 --> API 网关 --> 微服务通信实际上是同步的,这意味着客户端需要等待和阻塞,直到收到响应。通常,它被实现为基于 HTTP 的调用,客户端触发 API 网关,然后到达后面的微服务。这似乎不是您所说的那种基于事件的通信。

基于事件的通信的标准做法类似于:客户端 --> 事件/消息代理 --> 微服务 这是一种异步方法,其中客户端不阻塞/等待响应。但是,客户端需要有一个反向通道事件处理进程来监听通信以处理从微服务返回的响应。微服务 --> 事件/消息代理 --> 客户端。

【讨论】:

    猜你喜欢
    • 2012-11-14
    • 2019-10-01
    • 1970-01-01
    • 2014-07-27
    • 2015-12-25
    • 1970-01-01
    • 2017-03-19
    • 2011-02-17
    • 2018-10-21
    相关资源
    最近更新 更多