<!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>