Sobes.tech
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í.