【问题标题】:How to handle http requests and responses in micro-service architecture?微服务架构中如何处理http请求和响应?
【发布时间】:2014-04-10 16:45:38
【问题描述】:

在构建简单的 RESTful Web 应用程序时,我们有一个 Web 服务器来处理来自用户的请求。如果此服务器正在将请求转换为消息并将它们发布到队列中。当由微服务处理时,如何从片段(微服务消息)返回响应以及如何识别正确的用户?是通过session id还是其他id来标记队列中的消息属于哪个请求?

【问题讨论】:

    标签: web-services rest service restful-architecture


    【解决方案1】:

    当您将队列用于同步交互(请求-响应交互)时,这是一个常见问题。您需要一个用于请求的队列和一个用于响应的回调机制,它可以是第二个队列,或者在您的情况下更可能是对用户的 http 回调(假设用户可以接受 http 请求)。 无论如何,要将微服务生成的响应与原始请求相关联,您需要一个相关标识符correlation identifier pattern 在 Hohpe 和 Wolf 的 EIP 书中有所描述。

    【讨论】:

    • 执行此操作的常用方法是使用关联标识符和池机制。可以使用回调(如果客户端支持 Web 套接字),但这在 高事务系统 中是一个明智的选择
    【解决方案2】:

    最终完成这项工作的解决方案是将所有响应保存在键/值结构中(在本例中为另一个微服务)。当需要响应时,它会通过其 ID 调用,添加一些有效负载然后运走。在这种情况下,任何服务都可以在必要时做出响应。

    【讨论】:

      猜你喜欢
      • 2011-02-23
      • 2013-06-22
      • 1970-01-01
      • 1970-01-01
      • 2015-04-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 2021-02-05
      相关资源
      最近更新 更多