Junior — Middle
Czy możesz wyjaśnić zasadę działania gRPC i jego główne cechy?
sobes.tech AI
Odpowiedź od AI
gRPC to nowoczesny framework do wywołań procedur zdalnych (RPC), opracowany przez Google. Działa na bazie HTTP/2, co zapewnia efektywną dwukierunkową komunikację, multipleksowanie strumieni i kompresję nagłówków.
Główne cechy gRPC:
- Używa Protocol Buffers (protobuf) do opisu usług i serializacji danych — jest to kompaktowy i szybki format.
- Obsługuje różne typy wywołań: unary (jedno żądanie — jedna odpowiedź), streaming serwera, streaming klienta i dwukierunkowy streaming.
- Zapewnia ściśle określony kontrakt typu między klientem a serwerem.
- Umożliwia łatwe generowanie kodu w różnych językach programowania.
Przykład prostego serwisu gRPC w Go:
// Definicja serwisu w protobuf
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Po wygenerowaniu kodu można zaimplementować serwer i klienta, korzystając z wygenerowanych interfejsów.