upstream backup, как ведёт себя сервер?

Olexander Shtepa isk at idegroup.com
Fri Jul 4 19:29:03 MSD 2008


> Доброго времени суток.
> Возник вопрос по upstream и серверам с пометкой backup.
> 
> Положим существует несколько записей server в upstream помеченных как 
> backup и несколько не помеченных как backup, пример ниже. Вопрос - как 
> будет вести себя nginx?

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream
"Если при попытке работы с сервером произошла ошибка, то запрос будет передан следующему серверу и так до тех пор, пока не будут опробованы все работающие сервера."

> в смысле как он будет выбирать backup (полагаю  
> случайно?) и как будет выбирать следующий backup если первый backup не 
> ответил.

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream
"Если при попытке работы с сервером произошла ошибка, то запрос будет передан следующему серверу"
имеется ввиду следующий сервер в конфиге

> то есть вопрос по сути - как работает директива  
> fcgi_next_upstream с backup серверами? и ещё один впорос - как работает 
> директива fcgi_next_upstream с обычными серверами (не backup), если она 
> прошла уже по всем апстримам и не получила положительного результата: 

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#server
"backup — помечает сервер как запасной сервер. На него будут передаваться запросы в случае, если не работают основные сервера."

> будет ли она пытаться бесконечно получить результат от серверов или 
> будет переключится на backup-ы?

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream
"Если не удастся получить успешный ответ от всех серверов, то клиенту будет возвращён результат работы с последним сервером."

> если переключаться на бэкапы - то что  
> дальше? error_page?

http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream
"Если не удастся получить успешный ответ от всех серверов, то клиенту будет возвращён результат работы с последним сервером."

> upstream backend {
>   server 127.0.0.1:1030 max_fails=1 fail_timeout=10s;
>   server 127.0.0.1:1031 max_fails=1 fail_timeout=10s;
> 
>   server 127.0.0.1:1032 backup max_fails=1 fail_timeout=10s;
>   server 127.0.0.1:1033 backup max_fails=1 fail_timeout=10s;
> }


More information about the nginx-ru mailing list