Welcome! Log In Create A New Profile

Advanced

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

May 24, 2016 08:34AM
> Вы просто перенесете то, что реализовано в ядре операционной системы
> внутрь приложения. В случае HTTP/2 у вас будет на каждый отдельный
> запрос свой внутренний идентификатор со своими накладными расходами,
> который точно также будет "простаивать" пока запрос обрабатывается.
>
> У вас уже есть мультиплексирование на уровне TCP/IP.
>
> HTTP/2 - это коробочка в коробочке.


Провел простые тесты, получил интересные результаты.

Браузер делает три аякс запроса

GET /one HTTP/1.1
GET /two HTTP/1.1
GET /three HTTP/1.1

Протокол клиента HTTP/1.1 все три запроса браузер отправляет в одном конекте.
Nginx отправляет все эти три запроса в одном конекте на бекенд.

Теперь смотрим как все плохо в HTTP/1.1 когда в одном конекте приходит очередь HTTP запросов, допустим время ответа у нас такое:

GET /one HTTP/1.1 -- 500ms
GET /two HTTP/1.1 -- 20ms
GET /three HTTP/1.1 -- 10ms

Бекенд многопоточный, он бы мог принять и обработать второй и третий запрос, не дожидаясь обработки первого медленного запроса.

Есть три варианта как это сделать:

1. Бекенд читает все запросы из сокета и обрабатывает асинхроно, ответы буферизирует чтобы отправить в том же порядки как пришли запросы.

2. Перейти на НТТР/2 для работы бекенда с Nginx, но этого нет в планах Nginx

3. Если сделать свой велосипед, использовать $request_id для связи ответов и запросов, тогда бекенд сможет отвечать асинхроно, будет в зоголовке указывать $request_id запроса на который он отвечает, Nginx клиенту отправит ответы в той же последовательности как клиент прислал запросы.


Я не люблю велосипеды ($request_id) но если Nginx не планирует мультиплескирования (НТТР/2 или FastCGI) в апстримах, возможно это неплохой компромис, как вы считаете?
Subject Author Posted

proxy_http_version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 07, 2016 10:31AM

Re: proxy_http_version 2; без SSL, для мультиплексирование запросов к бекенду

ex May 10, 2016 06:10AM

Re: proxy_http_version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 10, 2016 07:43AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 09:26AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 10, 2016 09:58AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 10:02AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 10, 2016 10:04AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 10:18AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 10, 2016 11:18AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Konstantin Tokarev May 10, 2016 12:18PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 01:10PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 10, 2016 10:21AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 10:42AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 10, 2016 12:28PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 10, 2016 01:22PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 10, 2016 02:17PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 24, 2016 08:34AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 08:46AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 24, 2016 08:57AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 24, 2016 10:38AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 09:40AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 10:50AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Vasiliy P. Melnik May 24, 2016 11:14AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 11:36AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 24, 2016 11:20AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 11:42AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 24, 2016 12:26PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 24, 2016 01:18PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 25, 2016 07:19AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 25, 2016 12:00PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 26, 2016 07:16AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Evgeniy Berdnikov May 25, 2016 12:04PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Валентин Бартенев May 25, 2016 12:10PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 26, 2016 07:28AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Evgeniy Berdnikov May 26, 2016 08:40AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 30, 2016 07:11AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Konstantin Tokarev May 30, 2016 07:18AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 30, 2016 08:17AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Konstantin Tokarev May 30, 2016 08:24AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

Konstantin Tokarev May 30, 2016 08:24AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

S.A.N May 30, 2016 09:15AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

Evgeniy Berdnikov May 30, 2016 11:20AM

Re: proxy http version 2; без SSL, для мультиплексирован ие запросов к бекенду

S.A.N May 30, 2016 01:19PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 26, 2016 11:26AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 26, 2016 12:12PM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 27, 2016 01:22AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

S.A.N May 27, 2016 06:04AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Oleg A. Mamontov May 27, 2016 06:10AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

S.A.N May 27, 2016 06:39AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

Maxim Dounin May 27, 2016 11:32AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Илья Шипицин May 27, 2016 06:58AM

Re: proxy http version 2; без SSL, для мультиплексировани е запросов к бекенду

S.A.N May 27, 2016 07:13AM

Re: proxy http version 2; без SSL, для мультиплексирование запросов к бекенду

Evgeniy Berdnikov May 24, 2016 11:20AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 80
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready