Back to questions
Яндекс
Selectel
Купер
Junior — Middle
85
Можете объяснить принцип функционирования gRPC и его основные особенности?
Companies where asked
Betera Group
Киберпротект
Answer from AI
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;
}
После генерации кода можно реализовать сервер и клиент, используя сгенерированные интерфейсы.