Какой протокол используется в gRPC

«Какой протокол используется в gRPC» — вопрос из категории Сети, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

gRPC использует протокол HTTP/2 в качестве транспорта. Это позволяет эффективно передавать бинарные данные, поддерживать мультиплексирование запросов, приоритизацию и server push.

Преимущества HTTP/2 в gRPC:

  • Бинарный формат — уменьшает накладные расходы.
  • Мультиплексирование — несколько запросов в одном соединении.
  • Streaming — поддержка однонаправленных и двунаправленных потоков.
// Пример gRPC-сервиса с потоковой передачей
service ChatService {
  rpc Chat(stream Message) returns (stream Message) {}
}