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