On Mar 7, 2013, at 0:08 , Anatoly Mikhailov wrote: On Mar 6, 2013, at 23:35 , Anatoly Mikhailov wrote:
добрый день,
Вопрос балансировки нагрузки не дает мне покоя несколько дней, пока склоняюсь к использованию Nginx в роли балансировщика. Таким образом будет каскад Nginx - (Nginx - Unicorn) x 5.
У нас связка Nginx+Unicorn на нескольких независимых серверах разного назначения (Main, Admin, API, Mobile-API), но сейчас, ввиду растущей нагрузки, есть необходимость основное (Main) приложение поставить за балансировщиком (условно Nginx-А), получив 5 бэк-энд серверов (условно Nginx-B), которые и будут непосредственно проксировать на Unicorn.
В роли балансировщика выступают 2 кандидата: Nginx и Haproxy. С первым все понятно: - SSL-offload, и чистый http между Nginx-A и Nginx-B - с одной стороны, знакомая и понятная настройка - с другой стороны, какие параметры proxy надо настроить (нужен ли http-1.1 между A и B )
Между nginx'ами можно поставить 1.1, поскольку для второго nginx'а постоянные соедиения дешёвые.
Да, Игорь, спасибо, что прояснили этот момент. Если я правильно понимаю, то конфигурация Nginx-A будет:
upstream http_backend {
server 10.0.0.1:8080; # Nginx-B
server 10.0.0.1:8080; # Nginx-B keepalive 16;
}
keepalive можно поставить значительно больше.
Игорь, а что вы думаете о ldirectord, это не балансировщик, разумеется, но отдача ответа от бэкэнда идет напрямую в обход балансировщика. Это решение может не подойти по разным причинам, но мне очень хочется узнать ваше мнение об этом, тем более, что Github именно так и делает. _______________________________________________ nginx-ru mailing list nginx-ru@xxxxxxxxx http://mailman.nginx.org/mailman/listinfo/nginx-ru
|