Back to questions
OZON
Senior
7
Расскажи про gRPC: что это такое, как работает.
Companies where asked
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, а сервер реализует эту функцию, обрабатывая запросы.