Перебор бэкэндов
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