ПРОЕКТЫ 


  АРХИВ 


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: балансировка по dns rr ?



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 mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.