grpc_next_upstream_tries

Директива `grpc_next_upstream_tries` управляет количеством попыток связаться с upstream-серверами при обработке клиентских запросов по gRPC. — NGINX HTTP Core

grpc_next_upstream_tries
httpserverlocation
Синтаксисgrpc_next_upstream_tries number;
По умолчанию1
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `grpc_next_upstream_tries` задаёт, сколько upstream-серверов NGINX должен попытаться опросить в случае, если предыдущий сервер не отвечает. При обработке gRPC-запроса, если первый upstream-сервер возвращает ошибку, NGINX может повторно отправить запрос на последующие серверы в соответствии со значением этой директивы. Директива полезна в балансируемых по нагрузке окружениях для обеспечения надёжности связи клиент — сервер за счёт возможности переключения на запасные серверы при возникновении проблем. Механизм повторных попыток полезен при транзиентных сбоях, но его применение следует соотносить с возможным увеличением задержки ответа клиенту. Эта директива действует в контекстах `http`, `server` и `location`. Значение, заданное для `grpc_next_upstream_tries`, должно быть положительным целым числом, обозначающим количество допустимых повторных попыток при сбое запроса к upstream. Если директива установлена в 0, повторные попытки полностью отключаются, что приводит к немедленному провалу после первого обращения к upstream-серверу. Поведение по умолчанию определяется конфигурацией администратора сервера и может быть скорректировано для балансировки производительности и надёжности в зависимости от потребностей приложения.

Пример конфига

grpc_next_upstream_tries 3;

Установка значения в 0 отключает повторные попытки, что может привести к немедленным сбоям при ошибках upstream.

Убедитесь, что серверы upstream корректно настроены для обработки повторных запросов, когда это применимо.