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

Валентин Бартенев vbart на nginx.com
Вт Май 24 17:16:27 UTC 2016


On Tuesday 24 May 2016 12:26:22 S.A.N wrote:
> > > 
> > > Даже в РНР появляются новые асинхронные фрейворки, не говоря уже про
> > > Node.js, Go, etc..
> > > Возможно уже пришло время, переосмыслить и переписать логику работы
> > > upstream
> > > в Nginx?
> > > Тогда асинхронные бекенды смогут эффективней работать.
> > > 
> > 
> > Асинхронный nginx прекрасно работает по HTTP/1.x сам с собой, так
> > какие проблемы
> > возникают у перечисленных фреймворков?
> > 
> 
> Мы уже ходим по кругу :), я уже писал, что браузеры в реальной жизни часто
> отправляют множество запросов в одном соединении, в результате все эти
> запросы становятся в очередь к бекенду, вместо параллельного выполнения,
> вообще браузеры одновременно более 4-8 соединений не открывают, давайте
> говорить честно, Nginx выполняет запросы HTTP/1.x в одном соединении
> последовательно, а не асинхронно.

Какой браузер отправляет в одном HTTP/1.1 соединении следующий запрос не
дожидаясь ответа на предыдущий?

Ещё раз, если речь идет об общении между бэкендом и nginx, то nginx так
не делает, он использует столько соединений, сколько необходимо обработать
запросов и ни один запрос не ждет в очереди.  Ситуация браузер <-> сервер,
и сервер <-> бэкенд - они разные, не нужно их мешать в одну кучу.

Проблема, которую решает HTTP/2 возникает только между браузером и сервером,
и только потому, что браузер по RFC ограничен в количестве TCP соединений.

Когда такого ограничения нет, то HTTP/1 с одним запросом на соединение
работает лучше и эффективнее.


> 
> Кстати nodejs/http-parser уже планируют реализовать HTTP/2, так что спрос на
> мультиплексирования запросов к бекенду, будет только расти.
> 

Что совершенно не делает HTTP/2 лучшим выбором при общении с бэкендом.

Мультиплексирование запросов к бекенду есть и без HTTP/2, на уровне TCP,
и HTTP/2 тут только лишний оверхэд создает.  Подозреваю, что уже для
1000 запросов оверхэд может стать весьма заметным.

--
Валентин Бартенев


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