ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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




 




Copyright © Lexa Software, 1996-2009.