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. Примеры таких функций включают в себя:
взаимодействие с управлением потоком данных на уровне приложений, каскадное выравнивание нагрузки, балансировка нагрузки и аварийное переключение "