Это не тред-сейфовый резолвер, а резолвер, который не блокируется.
А по мне так пущай бы и блокировался. Мой днс всё равно быстро
отплёвывает адреса для проксирования. Если можно это уже сейчас сделать
опциональным, то было бы замечательно. Ну а если нет, то подождём. :-)
Сейчас можно сделать заглушку, которая бы вызывала системный
gethostbyname_r(). Что делать с несколькими адресами - перебирать
их по очереди в случае неудачи ?
Наверно да. В моём случае я всегда возвращаю только один адрес, но
можно возвращать и несколько с рассчётом на то, что кто-то из них не
ответит. :-)
Судя по описанию 0.1.18 там этого пока нет? Тогда есть пожелание на
будущее: в случае, если ни одной записи типа A днс не вернул, чтобы была
возможность или сделать редирект на какую-нибудь страницу, или вернуть 502,
например, и обработать его с помощью error_page. В случае текущей схемы
nginx->apache->backend у меня такое получается сделать: своё описание ошибки
клиенту в итоге отдаёт промежуточный апач. В моём случае такое происходит,
если нет живых и/или незагруженных бэкендов. Клиент в итоге вместо
длительного ожидания таймаута сразу получает отлуп с просьбой прийти
попозжее, что экономит ресурсы и приводит к тому, что бэкенды разгружаются
быстрей. :-)
Да, в 0.1.18 нету.
В случае, если не будет адреса, то возвращается ошибка 502, и её можно
перенаправить с помощью error_page.
Игорь Сысоев
http://sysoev.ru