Re: балансировка по dns rr ?
Maxim Dounin
mdounin на mdounin.ru
Чт Авг 12 23:58:22 MSD 2010
Hello!
On Fri, Aug 13, 2010 at 12:01:43AM +0600, Илья Шипицин wrote:
> а если, допустим, указать вот так
>
> upstream myupstream {
> ip_hash;
> server vm-backend:8066;
> }
>
> а в свою очередь dns-имя vm-backend имеет несколько cname или a записей.
> как будет балансировка работать ? на всех по кругу ? или на одного,
> который первый разрешится в момент запуска ?
http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#server
% Если доменное имя резолвится в несколько адресов, то
% используются все.
При чтении конфига будет сделан resolve имени, все полученные
ip-шники будут далее использоваться для балансировки запросов (в
соответствии с выбранным методом балансировки).
> я так понимаю, тут отличия будут в том, будет ли разрешаться имя при
> запуске (и жестко фиксируется) или разрешается при каждом запросе
> (тогда dns будет отдавть по кругу)
Резолвинг только при чтении конфига, дальше - балансировка по тому
что получили. Если dns отдаст не все A-записи, а скажем только
одну - значит nginx будет ходить только на один ip-адрес.
Для того чтобы резолвинг был на каждый запрос - надо определить
резолвер и использовать proxy_pass с переменными. Но во первых -
"Не советую, гражданин... мнэ-э... не советую. Съедят" (c), а во
вторых - это как-то слабо сочетается с ip_hash.
Maxim Dounin
Подробная информация о списке рассылки nginx-ru