Как управлять несколькими запросами в экземпляре виртуальной машины GCE, не создавая группу экземпляров? - PullRequest
0 голосов
/ 09 января 2020

Ошибки тайм-аута (502) возникают при выполнении более одного запроса на сервере. У меня есть балансировщик нагрузки решения. Но для балансировки нагрузки потребуется (неуправляемая / управляемая) группа экземпляров ВМ.

Итак, меня смущает, что Load Balancer будет одновременно управлять несколькими запросами?

Я отправляю внешние запросы API https вместе с этими запросами. Когда я удаляю этот внешний запрос API, он работает нормально, но когда я отправляю с внешним API, так что сервер не может обработать запросы, и возникает ошибка тайм-аута.

Не могли бы вы помочь мне управлять несколькими запросами на сервере или дать мне другое решение для того же? Спасибо за продвижение!

1 Ответ

0 голосов
/ 13 января 2020

Обработка нескольких запросов не зависит от наличия нескольких экземпляров виртуальных машин или одного. Основная идея наличия группы экземпляров - иметь высокую доступность в вашем сервисе и не полностью обрабатывать несколько запросов; следовательно, использование групп экземпляров или одной виртуальной машины зависит от архитектуры вашего приложения и функций, которые вы хотите добавить с помощью групп экземпляров.

Один экземпляр сможет обрабатывать несколько запросов, как, например, группа экземпляров. Обработка нескольких соединений - это то, что вам нужно проверить в приложении веб-сервера (Apache или Nginx).

Балансировщики нагрузки предназначены для обработки нескольких запросов. Поэтому использование балансировщиков нагрузки для обработки нескольких подключений зависит от вашей архитектуры. Если у вас несколько бэкэндов, вы должны использовать балансировщик нагрузки, если вы используете один бэкэнд, тогда ваш веб-сервер выполнит эту работу.

Сообщение об ошибке 502 может быть связано с несколькими вещами, вот несколько со страницы Google :

  • backend_connection_closed_before_data_sent_to_client
  • backend_early_response_wror_onat *
  • backend_interim_response_not_supported
  • backend_response_corrupted
  • backend_response_headers_too_long
  • backend_timeout
  • failed_to_connect_to_backend * 10
...