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