резолвинг адреса бэкенда

Igor Sysoev is at rambler-co.ru
Thu Dec 30 13:36:03 MSK 2004


On Wed, 29 Dec 2004, Dmitry Kondratyev wrote:

> Игорь, насколько я помню, ты как-то писал, что резолвинг имени бэкенда
> происходит только один раз, при запуске. Нельзя ли сделать, чтобы он
> проходил при каждой попытке проксирования, чтобы "умный" днс-сервер
> возвращал адрес наиболее пригодного на данный момент сервера? mod_accel
> такое вроде умел, хотелось бы подобное в nginx увидеть. :-)

Резолвинг происходит не только при запуске, но и при каждом сигнале -HUP.
Что касается резолвинга при каждом запросе, то тут вот какая проблема:
gethostbyname() - это блокирущаяся операция и на время ответа от dns-сервера
рабочий процесс nginx'а не будет обслуживать запросы. Уменьшить это время
можно, например, так - кэшировать адреса, скажем, на минуту и поставить
dns-сервер на ту же машину, что и nginx. Но планах есть написание своего
резолвера, который бы не блокировал процесс.

Кстати, проблема с "Can't assign requested address" разрешилась или нет ?


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





More information about the nginx-ru mailing list