Ответ
gRPC — это современный фреймворк для удалённого вызова процедур (RPC), разработанный Google. Он использует HTTP/2 для транспорта, Protocol Buffers (protobuf) как язык описания интерфейсов и бинарный формат сериализации, что делает его высокопроизводительным и компактным.
Ключевые особенности:
- Поддержка потоковой передачи (unary, server streaming, client streaming, bidirectional streaming)
- Кроссплатформенность и поддержка множества языков
- Встроенные механизмы аутентификации, шифрования и балансировки нагрузки
Пример proto-файла:
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
C# пример вызова:
var channel = GrpcChannel.ForAddress("https://localhost:5001");
var client = new Greeter.GreeterClient(channel);
var reply = await client.SayHelloAsync(new HelloRequest { Name = "World" });
Console.WriteLine(reply.Message);
gRPC особенно эффективен для микросервисных архитектур благодаря низким накладным расходам и высокой производительности.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶