<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Mar 6, 2013, at 7:53 PM, Igor Sysoev <<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">On Mar 6, 2013, at 23:35 , Anatoly Mikhailov wrote:<br><br><blockquote type="cite">добрый день,<br><br>Вопрос балансировки нагрузки не дает мне покоя несколько дней, пока склоняюсь к использованию<br>Nginx в роли балансировщика. Таким образом будет каскад Nginx - (Nginx - Unicorn) x 5.<br><br>У нас связка Nginx+Unicorn на нескольких независимых серверах разного назначения (Main, Admin, API, Mobile-API),<br>но сейчас, ввиду растущей нагрузки, есть необходимость основное (Main) приложение поставить <br>за балансировщиком (условно Nginx-А), получив 5 бэк-энд серверов (условно Nginx-B), которые <br>и будут непосредственно проксировать на Unicorn.<br><br>В роли балансировщика выступают 2 кандидата: Nginx и Haproxy. <br>С первым все понятно:<br>- SSL-offload, и чистый http между Nginx-A и Nginx-B<br>- с одной стороны, знакомая и понятная настройка<br>- с другой стороны, какие параметры proxy надо настроить (нужен ли http-1.1 между A и B )<br></blockquote><br>Между nginx'ами можно поставить 1.1, поскольку для второго nginx'а постоянные соедиения<br>дешёвые.<br></blockquote><div><br></div><div>Да, Игорь, спасибо, что прояснили этот момент.</div><div>Если я правильно понимаю, то конфигурация Nginx-A будет:</div><div><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; "><br></pre><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; "><br></pre><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; "><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; ">upstream http_backend {
server 10.0.0.1:8080; # Nginx-B
server 10.0.0.1:8080; # Nginx-B<br> keepalive 16;
}
server {
ssl on;
listen 443 default spdy ssl;
location / {</pre><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; "> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;</pre><pre style="padding: 0px; margin-top: 0px; margin-bottom: 0px; ">
proxy_pass <a href="http://http_backend">http://http_backend</a>;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}</pre><div><br></div></pre></div><br><blockquote type="cite"><br><blockquote type="cite">Haproxy:<br>- банально "типичное решение"<br>- нетривиальная и запутанная конфигурация<br></blockquote><br><br>--<br>Igor Sysoev<br><a href="http://nginx.com/support.html">http://nginx.com/support.html</a><br><br>_______________________________________________<br>nginx-ru mailing list<br>nginx-ru@nginx.org<br>http://mailman.nginx.org/mailman/listinfo/nginx-ru</blockquote></div><br></body></html>