Как работает GRPC в Cloud Foundry?GoRouter не поддерживает HTTP2 - PullRequest
0 голосов
/ 31 марта 2019

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

Я пробовал использовать EUREKA с пружинной загрузкой.Он все еще использует HTTP1.1.

1 Ответ

0 голосов
/ 06 апреля 2019

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

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

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

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

...