【问题标题】:microsevice apigateway pattern微服务 API 网关模式
【发布时间】:2018-01-25 12:40:52
【问题描述】:

我正在一个新项目的用户网站上工作,我需要为每个请求保持良好的响应时间。我想知道我应该使用哪些微服务模式。

我一直在阅读“api-gateway”模式,其中网关是服务编排器。据我了解,API 应该同步调用服务,以便授予业务的逻辑流程。这确实减少了reactive 提供的一些优势。

另一种方法是使api网关异步,然后需要为每个请求维护状态,以便在收到服务回复时,可以将其映射到正确的请求并继续流程。

我一直在搜索这个主题,但找不到太多有用的文章。您能否分享您的想法或指出一些讨论该主题的文章。

谢谢!

【问题讨论】:

  • 您能详细说明“响应时间短”吗?在某些情况下这意味着
  • 它是一个标准的网络应用程序。可接受的响应时间为 1-2.5 秒。我也编辑了原始问题。
  • 检查编舞模式这可能也很有趣,或者你只是想去编排模式?

标签: asynchronous architecture microservices reactive api-gateway


【解决方案1】:

您应该进行的第一个优化应该始终是最有效的。看看你最昂贵的手术。对我来说,我相信这对大多数开发人员来说都是正确的,它是服务之间的通信。无论是从 API 网关到数据服务,还是从数据服务到数据库,目标都应该是尽量减少这种情况。所以是的,您应该做的第一件事是让您的 API-Gateway 请求在与该服务对话时并行发生。否则,您将进行 N 次调用,而不是(基本上)对服务进行 1 次调用(因为它们同时发生),其中 N 是服务的数量。在那里浪费了很多时间。

【讨论】:

    【解决方案2】:

    使调用同步并不意味着它不能是响应式的,响应式表示您的应用服务器将使用线程池(这是一种有限的资源)与使用响应式方法来处理请求的方式,您可以按照您的方式分派响应然后。第二种方法仍然可以为您的客户(网络或移动应用程序)提供同步响应

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 2019-04-06
      • 2020-07-24
      • 1970-01-01
      • 2020-06-04
      • 2019-10-27
      • 2021-01-27
      • 2019-10-01
      相关资源
      最近更新 更多