Sobes.tech
Junior — Middle

Můžete vysvětlit princip fungování gRPC a jeho hlavní vlastnosti?

sobes.tech AI

Odpověď od AI

gRPC je moderní rámec pro vzdálené volání procedur (RPC), který byl vyvinut společností Google. Funguje nad HTTP/2, což zajišťuje efektivní obousměrnou komunikaci, multiplexování toků a kompresi hlaviček.

Hlavní vlastnosti gRPC:

  • Používá Protocol Buffers (protobuf) k popisu služeb a serializaci dat — je to kompaktní a rychlý formát.
  • Podporuje různé typy volání: unary (jeden požadavek — jedna odpověď), serverové streamování, klientské streamování a obousměrné streamování.
  • Poskytuje přísně typovaný kontrakt mezi klientem a serverem.
  • Umožňuje snadné generování kódu v různých programovacích jazycích.

Příklad jednoduché gRPC služby v Go:

// Definice služby v protobuf
syntax = "proto3";

service Greeter {
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

Po vygenerování kódu lze snadno implementovat server a klienta pomocí vygenerovaných rozhraní.