Рейтинг:0

(Не) преимущества использования HTTP/2 или HTTP/3 для внутренних подключений (обратный прокси -> сервер)?

флаг cn

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

Я действительно не сталкивался с этим и только когда-либо видел H2 и H2, развернутые перед обратными прокси и CDN. ASFIK H2 и H3 обычно (H2C — вещь, верно?) требуют TLS, что делает его непригодным, если вы хотите выполнять TLS-завершение вдали от бэкэнда.

H2 также может быть сложнее настроить и настроить, чем базовый бэкэнд HTTP/1.1. С положительной стороны, не будет ли мультиплексирование улучшением по сравнению с фиксированным количеством одновременных запросов, которые вы получаете по n-количеству TCP-соединений, которые обратный прокси-сервер будет открывать для серверных соединений HTTP/1.1?

Какова экономия и затраты с точки зрения нагрузки на ЦП, память и ввод-вывод?

Есть ли у кого-нибудь реальный опыт в этом?

Рейтинг:1
флаг et

я написал этот ответ по теме на Stack Overflow, и он по-прежнему актуален.

Преимущества HTTP/2 (и HTTP/3) в первую очередь для внешнего интерфейса. Вы вряд ли увидите какие-либо реальные, заметные преимущества по сравнению с серверной частью. И, учитывая, что для этих новых протоколов часто не хватает поддержки, я бы не стал успокаивать себя, чтобы включить их с таким небольшим преимуществом.

Один интересный момент (как отмечено в нижней части моего связанного ответа) - это проблемы безопасности, которые могут возникнуть при понижении версии HTTP/2 (или 3) на внешнем интерфейсе до HTTP/1.1 на внутреннем. В основном это связано с проблемами в HTTP/1.1 (для решения которых были разработаны версии 2 и 3) и плохой реализацией этих пограничных случаев, но, тем не менее, это дает одну вескую причину вообще избегать использования HTTP/1.1, если это возможно.

Сказав, что в настоящее время HTTP/3 определенно стоит дорого, и я бы не рекомендовал его для серверной части (или даже для внешнего интерфейса, если честно - использование через CDN - это путь, ИМХО). Он все еще слишком новый (окончательные RFC еще даже не опубликованы!), и мы потратили годы на оптимизацию TCP в операционных системах и во всем сетевом стеке.Тот факт, что QUIC находится в пользовательском пространстве, а не в ядре, имеет много преимуществ на будущее, но скорость и эффективность не являются одними из них. Разрыв сокращается (как этот отчет от Fastly показывает), но он все еще там.

Так что, как только HTTP/2 станет повсеместным (что происходит быстрее, чем многие думают!) я бы выбрал его, но я бы не стал зацикливаться на нем для серверной части (это то, что стоит дополнительных затрат). усилие на переднем конце). HTTP/3 отстал на 5 лет и только сейчас дорабатывается, так что еще меньше, чтобы рекомендовать его в качестве серверной части на данный момент. Но я искренне верю, что QUIC и HTTP/3 будут захватывающими в будущем, поэтому определенно стоит присматривать за ними.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.