Что такое gRPC

«Что такое gRPC» — вопрос из категории API и интеграции, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

gRPC — это современный фреймворк для удалённого вызова процедур (RPC), разработанный Google. Он использует HTTP/2 для транспорта и Protocol Buffers (protobuf) как язык описания интерфейсов и формат сериализации данных.

Ключевые особенности:

  • Высокая производительность благодаря бинарному формату protobuf
  • Поддержка потоковой передачи данных (unary, server streaming, client streaming, bidirectional streaming)
  • Кросс-языковая совместимость (поддерживает Java, Go, Python, C++ и др.)
  • Встроенные механизмы аутентификации, шифрования и балансировки нагрузки

Пример proto-файла:

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

gRPC идеален для микросервисных архитектур и сценариев, где важны низкие задержки и эффективность.