Re: Проблемы с бэкэндом на http2

Maxim Dounin mdounin на mdounin.ru
Пн Окт 19 13:52:20 UTC 2015


Hello!

On Mon, Oct 19, 2015 at 03:56:17PM +0300, Pavel Odintsov wrote:

> Приветствую!
> 
> Спасибо за ответ!
> 
> Но проблема несколько шире. Уже много фреймфорков написанных чисто на
> http 2.0 (gRPC - и это только начало), которые не содержат большого
> количества ненужного кода для поддержки http 1.1 просто потому что он
> не нужен и смысла в нем минимум.

Если фреймворкам не нужно общение с браузерами и обычными 
http-клиентами (а, судя по HTTP/2 only, оно не нужно) - то, 
вероятно, правильным решением будет не использовать reverse proxy, 
а просто балансировать TCP-потоки без какой-либо модификации.  Как 
это делается для любых других специальных протоколов.  Лучше всего 
это делать с помощью сетевых средств, для сложных случаев - в 
nginx'е есть модуль stream.

> Отсутствие поддержки http2 со стороны бэкэнда в среде, где с клиентам
> уже можно общаться по http2 будет тормомзом прогресса, потому что мы
> не можем использовать везде http2 и исключительно из-за прихоти
> реверс-прокси должны тыщить http2.
> 
> Я за унификацию :) Скорее вижу подход, где между бэкэндом и реверс
> прокси бегает http2, а также во всей внутренней инфраструктуре и
> силами реверс прокси это дело понижается до особо не продвинутых
> внешних клиентов.
> 
> Но схему наоборот - http2 до публичного клиента и древний http 1.1 в
> бэнбоне.... не вяжется, не нравится мне это.

Не стоит думать, что http2 - лучше, чем http, и его следует 
бросаться всюду внедрять.  Он бинарный, непрост в отладке, пытается 
подменять собой транпортный уровень, зачем-то пытается выставлять 
требования по используемым шифрам.  В общем и целом - требует к 
себе гораздо больше внимания, чем нужно.

И при всём этом, как уже было сказано, не приносит сколько-нибудь 
заметных плюсов при общении внутри собственной инфраструктуры, 
а местами и минусов добавляет.

-- 
Maxim Dounin
http://nginx.org/



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