Re: "Придержать" соединения на время

2019-08-08 Пенетрантность Илья Шипицин
видимо, речь идет про

https://nginx.org/ru/docs/http/ngx_http_upstream_module.html#queue

аналогичный механизм есть в haproxy

https://cbonte.github.io/haproxy-dconv/1.7/configuration.html#4.2-maxconn

чт, 8 авг. 2019 г. в 12:17, Алексей Сундуков :

> Есть ли возможность при недоступности бэка (временной, буквально на пару
> секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку
> через Х секунд удерживаю при этом коннект с клиентом?
>
> Я так понимаю из коробки такой возможности нет, но может это можно сделать
> через lua/nginJs?
> ___
> 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

Re: "Придержать" соединения на время

2019-08-08 Пенетрантность Evgeniy Berdnikov
On Thu, Aug 08, 2019 at 11:17:17AM +0400, Алексей Сундуков wrote:
>Есть ли возможность при недоступности бэка (временной, буквально на пару
>секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку
>через Х секунд удерживаю при этом коннект с клиентом?

 Какой именно недоступности? Если бэкенд не отвечает, то ядро ОС
 продолжает ретрасмиссии, до таймаута. Увеличьте таймаут.
 
 Если бэкенд отвечает RST, потому что сервис на нём не запущен, то
 подумайте, как правильно поднимать сервис, чтобы такого не было.
 Если же он отвечает RST из-за перегрузки (переполнение backlog'a),
 лучше всего выбросить винду с её кривой сетью и поставить бэкенд на юникс.
 В крайнем случае можно просто зарубить все RST от виндового сервиса
 пакетным фильтром, тогда обрывы коннекций превратятся в таймауты.

>Я так понимаю из коробки такой возможности нет, но может это можно сделать
>через lua/nginJs?
-- 
 Eugene Berdnikov
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

"Придержать" соединения на время

2019-08-08 Пенетрантность Алексей Сундуков
Есть ли возможность при недоступности бэка (временной, буквально на пару
секунд) на клиент не отдавать сразу '502 Bad Gateway', а повторить попытку
через Х секунд удерживаю при этом коннект с клиентом?

Я так понимаю из коробки такой возможности нет, но может это можно сделать
через lua/nginJs?
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru