Grpc.Dial() создает соединение http/2?

Я немного запутался по поводу grpc и http/2. Из того, что я узнал, grpc является платформой RPC и может использовать различные типы транспортов, а http / 2 является лишь одним из транспортов.

На Голанге grpc.Dial() создаст соединение с сервером, а сервер grpc будет создан grpc#Server.Serve(), Так что же это за связь? Это соединение http / 2?

Большое спасибо за Вашу помощь.

1 ответ

Когда вы подключаетесь к серверу с помощью gRPC, он устанавливает одно соединение HTTP/2, которое может использоваться несколькими запросами gRPC (концепция канала).

gRPC действительно является платформой RPC, построенной на HTTP/2. По умолчанию он использует Protobufs в качестве протокола сериализации, но его можно настроить.

Думайте о gRPC как об уровне приложения RPC поверх HTTP/2. Процитируем FAQ: "... gRPC - это также набор библиотек, которые будут обеспечивать высокоуровневые функции на разных платформах, чего нет в обычных библиотеках HTTP. Примеры таких функций включают в себя:

взаимодействие с управлением потоком данных на уровне приложений, каскадное выравнивание нагрузки, балансировка нагрузки и аварийное переключение "

Другие вопросы по тегам