Перебор бэкэндов

Igor Sysoev is at rambler-co.ru
Fri Jun 17 10:04:09 MSD 2005


On Thu, 16 Jun 2005, Kpoxa KpoIIIkin wrote:

> Andrew Velikoredchanin пишет:
>> Igor Sysoev wrote:
>> 
>>> On Thu, 16 Jun 2005, Andrew Velikoredchanin wrote:
>>> 
>>>> Игорь, в архиве я нашел следующее описание работы с бэкэндами:
>>>> 
>>>> "Если при работе с бэкендом произошла ошибка, то бэкенд исключается из 
>>>> списка работающих на 60 секунд."
>>>> 
>>>> У меня стоит nginx 0.1.28. Есть-ли в нем возможность регулировать время 
>>>> исключения бэкэнда из списка работающих?
>>>> 
>>>> У меня в планах сделать хранение файлов не на всех бэкэндах, а 
>>>> распределять файлы по ним с хранением одного экземпляра. Но в случае 
>>>> такого алгоритма работы, думаю, возможны проблемы типа:
>>>> 
>>>> 1. Запрашивается файл file1 которого нет на node1. Он возвращается с 
>>>> node2. node1 исключается из списка работающих.
>>>> 2. Запрашивается файл file2 который лежит на node1. Но т.к. node1 
>>>> исключен из списка работающих, то юзеру вернется ошибка 404.
>>>> 
>>>> Может быть я неправ и такой проблемы не будет?
>>> 
>>> 
>>> 
>>> Бэкенд исключается только при ошибках:
>>> 
>>> proxy_next_upstream   error timeout invalid_header http_500;
>>> 
>>> При http_404 исключения не происходит.
>> 
>> 
>> Отлично! :)
>> 
> Насколько я понял из задачи, то для вас не так уж и отлично, т.е. по ошибке 
> 404 nginx не будет обращаться к следующему бэкэнду, он сразу вернет ответ 
> клиенту.

При использовании
proxy_next_upstream  error timeout invalid_header http_500 http_404;

во всех описанных случаях nginx будет переходить к следующему бэкенду.
А исключение на 60 секунд из списка работающих будет во всех случаях,
кроме http_404.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list