upstream priority

Nikita Koshikov koshikov на gmail.com
Пт Ноя 6 18:42:32 UTC 2020


Спасибо

Хотелось бы еще услышать ответ на вопрос про веса и 'hash'  при выборе бекендов
Если можно - укажите пожалуйста в коде где это считается - дальше разбирусь

On Fri, Nov 6, 2020 at 10:33 AM Илья Шипицин <chipitsine на gmail.com> wrote:
>
> все верно, первый бекенд - с максимальным весом, бекапом - следующий (который устроен аналогично)
>
> но я бы не играл с error_page, это запутано получается. что именно редиректить на error_page, 502 ? 504 ? собственные 502 или проксированные ?
> в общем, сложно это.
>
> пт, 6 нояб. 2020 г. в 23:17, Nikita Koshikov <koshikov на gmail.com>:
>>
>> Спасибо,
>> Имеется ввиду два бекенда один из который с backup ?
>>
>>   upstream c1 {
>>     server [::1]:81 ;
>>     server [::1]:82 backup;
>>   }
>>
>>   upstream c2 {
>>     server [::1]:83 ;
>>     server [::1]:84 backup;
>>   }
>>
>> server {
>>   location {
>>     proxy_pass http://c1
>>     error_page @c2
>>   }
>> }
>> Или что-то другое ?
>>
>> On Fri, Nov 6, 2020 at 9:52 AM Илья Шипицин <chipitsine на gmail.com> wrote:
>> >
>> > можно проксировать на самого себя каскадом.
>> > на каждом каскаде 2 бекенда
>> >
>> > пт, 6 нояб. 2020 г. в 22:40, Nikita Koshikov <koshikov на gmail.com>:
>> >>
>> >> Доброго всем времени суток
>> >>
>> >> Подскажите как можно сделать что-то максимально подобное для выбора
>> >> backend сервера по приоритету, в идеале нужно что-то
>> >>
>> >>   upstream backend {
>> >>     server [::1]:81 priority=1;
>> >>     server [::1]:82 priority=2;
>> >>     server [::1]:83 priority=3;
>> >>     server [::1]:84 priority=4;
>> >>     server [::1]:85 priority=5;
>> >>   }
>> >> т.е. пока жив хоть один с более высоким приоритетом - слать запросы на него ?
>> >>
>> >> Из того что пробовал
>> >>   upstream backend {
>> >>     server [::1]:81 weight=1;
>> >>     server [::1]:83 backup;
>> >>   }
>> >> Так работает - однако не поддерживает 2+ бекенда
>> >>
>> >> Из самого близкого что удалось сделать - через hash со статичным ключом
>> >>   upstream backend {
>> >>     hash 'http_balance';
>> >>     server [::1]:81 weight=1 fail_timeout=60;
>> >>     server [::1]:82 weight=2 fail_timeout=60;
>> >>     server [::1]:83 weight=3 fail_timeout=60;
>> >>   }
>> >> Проблема только что веса не всегда работают, - в данной конфигурации
>> >> выбирается server:82, хотя у 83 более высокий weight. Полная цепочка
>> >> при отказах - 82->83->81
>> >> Учитывается ли вес в такой конфигурации ?
>> >> С более высокими весами начинает работать как нужно 83->82->81
>> >>   upstream backend {
>> >>     hash 'http_balance';
>> >>     server [::1]:81 weight=1 fail_timeout=60;
>> >>     server [::1]:82 weight=10 fail_timeout=60;
>> >>     server [::1]:83 weight=100 fail_timeout=60;
>> >>   }
>> >> Хотелось бы понимать это совпадение или веса принимаются в расчет при
>> >> выборе hash-а?
>> >> _______________________________________________
>> >> nginx-ru mailing list
>> >> nginx-ru на nginx.org
>> >> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>> >
>> > _______________________________________________
>> > nginx-ru mailing list
>> > nginx-ru на nginx.org
>> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru на nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


Подробная информация о списке рассылки nginx-ru