如何在不创建实例组的情况下管理GCE VM实例中的多个请求?

时间:2020-01-09 06:57:47

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

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

因此,我感到困惑的是,负载均衡器将同时管理多个请求吗?

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

请您帮我管理服务器上的多个请求,还是为我提供另一个解决方案?感谢您的进步!

1 个答案:

答案 0 :(得分:1)

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

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

负载均衡器旨在处理多个请求。因此,使用负载均衡器处理多个连接取决于您的体系结构,如果您有多个后端,则必须使用负载均衡器,如果您使用的是单个后端,则您的Web服务器将完成这项工作。 / p>

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
  • backend_timeout
  • 失败_连接到后端
  • failed_to_pick_backend

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

我相信您的问题与Web服务器中的配置有关,并且您正在使用负载均衡器和实例组以错误的方式来处理它。

相关问题