Junior — Middle
Môžete vysvetliť princíp fungovania gRPC a jeho hlavné vlastnosti?
sobes.tech AI
Odpoveď od AI
gRPC je moderný rámec pre vzdialené volania procedúr (RPC), ktorý vyvinul Google. Funguje nad HTTP/2, čo zabezpečuje efektívnu obojsmernú komunikáciu, multiplexovanie tokov a kompresiu hlavičiek.
Hlavné vlastnosti gRPC:
- Používa Protocol Buffers (protobuf) na opis služieb a serializáciu dát — je to kompaktný a rýchly formát.
- Podporuje rôzne typy volaní: unary (jeden požiadavka — jedna odpoveď), serverové streamovanie, klientské streamovanie a obojsmerné streamovanie.
- Poskytuje prísne typovaný kontrakt medzi klientom a serverom.
- Umožňuje jednoduché generovanie kódu v rôznych programovacích jazykoch.
Príklad jednoduchého gRPC servisu v Go:
// Definícia služby v protobuf
syntax = "proto3";
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply) {}
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Po vygenerovaní kódu je možné jednoducho implementovať server a klienta pomocou vygenerovaných rozhraní.