<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
спасибо. Исчерпывающе.<br>
<br>
Olexander Shtepa пишет:
<blockquote cite="mid:200807041829.03835.isk@idegroup.com" type="cite">
<blockquote type="cite">
<pre wrap="">Доброго времени суток.
Возник вопрос по upstream и серверам с пометкой backup.
Положим существует несколько записей server в upstream помеченных как
backup и несколько не помеченных как backup, пример ниже. Вопрос - как
будет вести себя nginx?
</pre>
</blockquote>
<pre wrap=""><!---->
<a class="moz-txt-link-freetext" href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream">http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream</a>
"Если при попытке работы с сервером произошла ошибка, то запрос будет передан следующему серверу и так до тех пор, пока не будут опробованы все работающие сервера."
</pre>
<blockquote type="cite">
<pre wrap="">в смысле как он будет выбирать backup (полагаю
случайно?) и как будет выбирать следующий backup если первый backup не
ответил.
</pre>
</blockquote>
<pre wrap=""><!---->
<a class="moz-txt-link-freetext" href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream">http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream</a>
"Если при попытке работы с сервером произошла ошибка, то запрос будет передан следующему серверу"
имеется ввиду следующий сервер в конфиге
</pre>
<blockquote type="cite">
<pre wrap="">то есть вопрос по сути - как работает директива
fcgi_next_upstream с backup серверами? и ещё один впорос - как работает
директива fcgi_next_upstream с обычными серверами (не backup), если она
прошла уже по всем апстримам и не получила положительного результата:
</pre>
</blockquote>
<pre wrap=""><!---->
<a class="moz-txt-link-freetext" href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#server">http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#server</a>
"backup — помечает сервер как запасной сервер. На него будут передаваться запросы в случае, если не работают основные сервера."
</pre>
<blockquote type="cite">
<pre wrap="">будет ли она пытаться бесконечно получить результат от серверов или
будет переключится на backup-ы?
</pre>
</blockquote>
<pre wrap=""><!---->
<a class="moz-txt-link-freetext" href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream">http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream</a>
"Если не удастся получить успешный ответ от всех серверов, то клиенту будет возвращён результат работы с последним сервером."
</pre>
<blockquote type="cite">
<pre wrap="">если переключаться на бэкапы - то что
дальше? error_page?
</pre>
</blockquote>
<pre wrap=""><!---->
<a class="moz-txt-link-freetext" href="http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream">http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#upstream</a>
"Если не удастся получить успешный ответ от всех серверов, то клиенту будет возвращён результат работы с последним сервером."
</pre>
<blockquote type="cite">
<pre wrap="">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;
}
</pre>
</blockquote>
</blockquote>
<br>
</body>
</html>