#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, у вас есть два варианта.
-
Если вам нужны общедоступные клиенты (т. Е. клиенты вне CF) для подключения к вашему приложению, вам необходимо использовать маршрутизацию TCP. Если ваш провайдер не включает это по умолчанию, найдите другого провайдера (см. Этот список общедоступных провайдеров, подсказка веб-службы Pivotal будут предоставлять TCP-маршруты по запросу) или собственный хост.
-
Если вам нужно использовать HTTP / 2 и / или gRPC только между приложениями, запущенными на CF, вы можете использовать сеть «контейнер-контейнер». При обмене данными между приложениями ограничений нет (при условии, что вы правильно открываете требуемые порты). Вы можете использовать TCP, UDP и любой протокол, построенный поверх них. Здесь есть некоторые подробности о том, как это работает.
Надеюсь, это поможет!