Sobes.tech
Назад к вопросам
Junior — Middle
84

Можете объяснить принцип функционирования gRPC и его основные особенности?

Компании, где спрашивали
Betera Group
ЯндексЯндекс
SelectelSelectel
КуперКупер
Киберпротект

Ответ от нейросети

sobes.tech AI

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

Основные особенности gRPC:

  • Использует Protocol Buffers (protobuf) для описания сервисов и сериализации данных — это компактный и быстрый формат.
  • Поддерживает несколько типов вызовов: unary (один запрос — один ответ), серверный стриминг, клиентский стриминг и двунаправленный стриминг.
  • Обеспечивает строго типизированный контракт между клиентом и сервером.
  • Позволяет легко генерировать код на разных языках программирования.

Пример простого gRPC-сервиса на Go:

// Определение сервиса в protobuf
syntax = "proto3";

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

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

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