【问题标题】:How to manage multiple requests in GCE VM instance Without creating an instance group?如何在不创建实例组的情况下管理 GCE VM 实例中的多个请求?
【发布时间】:2020-01-09 06:57:47
【问题描述】:

在服务器上发出多个请求时发生超时 (502) 错误。我有一个解决方案负载平衡器。但是,将需要负载均衡器(非托管/托管)VM 实例组。

那么,我很困惑,负载均衡器会同时管理多个请求?

我将连同这些请求一起发送外部 https API 请求。 当我删除这个外部 API 请求时它工作正常,但是当 我使用外部 API 发送,因此服务器无法处理请求 并且发生超时错误。

您能帮我管理服务器上的多个请求还是给我另一个解决方案?感谢您的提前!

【问题讨论】:

  • 请更新问题,以便您向我们提供更多详细信息,使其更易于理解和集中。创建 UNMANAGED 实例组可能是一个大错误,为什么您认为它会解决问题?问题是可扩展性还是应用程序?
  • 可扩展性问题。

标签: ruby-on-rails nginx google-cloud-platform puma


【解决方案1】:

处理多个请求并不取决于拥有多个 VM 实例或只有一个。拥有实例组的主要思想是在您的服务中具有高可用性,而不是完全处理多个请求;因此,使用实例组或单个 VM 取决于您的应用架构以及您要使用实例组添加的功能。

单个实例将能够像实例组一样处理多个请求,我相信多个连接处理是您需要在您的 Web 服务器应用程序(Apache 或 Nginx)中检查的内容。

负载平衡器旨在处理多个请求。因此,使用负载平衡器来处理多个连接取决于您的架构,如果您有多个后端,则必须使用负载平衡器,如果您使用单个后端,那么您的 Web 服务器将完成这项工作。

502 错误信息可能与几件事有关,here are a few from Google's page:

  • backend_connection_closed_before_data_sent_to_client
  • backend_early_response_with_non_error_status
  • backend_interim_response_not_supported
  • backend_response_corrupted
  • backend_response_headers_too_long
  • 后端超时
  • failed_to_connect_to_backend
  • failed_to_pick_backend

为了尝试修复 502 消息,您必须使用 Google 提到的值 in this documentation 为常见的网络服务器软件(如 Apache 和 Nginx)配置 Keep alive 超时。

我认为您的问题与您的网络服务器中的配置有关,并且您使用负载平衡器和实例组以错误的方式处理它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-12
    • 2013-07-20
    • 2014-12-11
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    相关资源
    最近更新 更多