degrade
Директива 'degrade' используется для управления механизмом резервного переключения, когда основной сервер недоступен. — NGINX HTTP Core
Описание
Директива 'degrade' в NGINX позволяет администраторам задавать, как должен вести себя сервер, когда primary backend server недоступен. Эта директива особенно полезна в схемах балансировки нагрузки, где может быть несколько upstream серверов или сервисов. Включив директиву 'degrade', NGINX позволит маршрутизировать запросы на назначенный вторичный сервер или заранее определённый набор серверов даже когда один или несколько upstream серверов не работают. Это помогает поддерживать доступность сервиса и гарантировать, что пользователи продолжают получать ответы даже в случае сбоев. Когда директива 'degrade' включена, она фактически изменяет поведение при отказах, позволяя обслуживать запросы с вторичных ресурсов вместо полного отказа. Это особенно важно в средах с высокой доступностью, где критично поддерживать непрерывность сервиса. Администраторам необходимо убедиться, что соответствующие конфигурации fallback настроены, например, определены backup servers в контексте upstream, чтобы эффективно использовать эту директиву. Кроме того, успех использования этой директивы зависит от общих health checks и правильной настройки upstream серверов.
Пример конфига
http {
upstream backend {
server primary_server;
server backup_server backup;
}
server {
location / {
proxy_pass http://backend;
degrade;
}
}
}Убедитесь, что серверы upstream правильно определены; отсутствие конфигураций может привести к непредвиденному поведению.
Директива degrade directive применяется только при использовании upstreams; она может не иметь эффекта в простых серверных контекстах.