Sobes.tech
Back to questions
Senior
7

Расскажи про gRPC: что это такое, как работает.

Companies where asked
OZONOZON

Answer from AI

sobes.tech AI

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

Как работает gRPC:

  • Определяется сервис и методы в файле .proto с помощью protobuf.
  • На основе .proto генерируется код клиента и сервера на нужном языке.
  • Клиент вызывает методы сервера как обычные функции, а gRPC обрабатывает сетевое взаимодействие.
  • Используется HTTP/2, что обеспечивает мультиплексирование, сжатие и низкую задержку.

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

  • Высокая производительность благодаря бинарной сериализации и HTTP/2.
  • Поддержка стриминга данных в обе стороны (клиент-сервер).
  • Кроссплатформенность и поддержка многих языков.

Пример определения сервиса в protobuf:

syntax = "proto3";

service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}

message UserRequest {
  int32 id = 1;
}

message UserResponse {
  int32 id = 1;
  string name = 2;
}

После генерации кода клиент может вызвать GetUser, а сервер реализует эту функцию, обрабатывая запросы.