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