Как GRPC работает в Cloud Foundry? GoRouter не поддерживает HTTP2

#spring-boot #cloud #cloud-foundry #grpc #http2

#весенняя загрузка #облако #cloud-foundry #grpc #http2

Вопрос:

Мне нужно использовать GRPC для взаимодействия между двумя микросервисами. Но по умолчанию cloud foundry использует маршрутизатор Go, который не поддерживает Http2. И по умолчанию многие установки cloud foundry не предоставляют доступ к самому TCP-порту. Есть ли какие-либо обходные пути или есть какой-либо интерфейс, который будет поддерживать этот сценарий?

Я пробовал использовать EUREKA с пружинным ботинком. Он по-прежнему использует HTTP1.1.

Ответ №1:

Вы правы, Gorouter не поддерживает HTTP / 2. Чтобы заставить HTTP / 2 и / или gRPC работать на CF, у вас есть два варианта.

  1. Если вам нужны общедоступные клиенты (т. Е. клиенты вне CF) для подключения к вашему приложению, вам необходимо использовать маршрутизацию TCP. Если ваш провайдер не включает это по умолчанию, найдите другого провайдера (см. Этот список общедоступных провайдеров, подсказка веб-службы Pivotal будут предоставлять TCP-маршруты по запросу) или собственный хост.

  2. Если вам нужно использовать HTTP / 2 и / или gRPC только между приложениями, запущенными на CF, вы можете использовать сеть «контейнер-контейнер». При обмене данными между приложениями ограничений нет (при условии, что вы правильно открываете требуемые порты). Вы можете использовать TCP, UDP и любой протокол, построенный поверх них. Здесь есть некоторые подробности о том, как это работает.

Надеюсь, это поможет!