Sobes.tech
Junior — Middle

Можете ли да објасните принцип функционисања gRPC и његове главне особине?

sobes.tech АИ

Одговор од АИ

gRPC je savremeni okvir za udaljene pozive procedura (RPC), koji je razvio Google. Radi na HTTP/2, što omogućava efikasnu dvosmernu komunikaciju, multiplexing tokova i kompresiju zaglavlja.

Glavne karakteristike gRPC:

  • Koristi Protocol Buffers (protobuf) za opisivanje servisa i serijalizaciju podataka — to je kompaktan i brz format.
  • Podržava različite tipove poziva: unary (jedan zahtev — jedan odgovor), server streaming, klijent streaming i dvosmerni streaming.
  • Obezbeđuje strogo tipizovan ugovor između klijenta i servera.
  • Omogućava lako generisanje koda na različitim programskim jezicima.

Primer jednostavnog gRPC servisa u Go:

// Definicija servisa u protobuf
syntax = "proto3";

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

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}

Nakon generisanja koda, može se lako implementirati server i klijent koristeći generisane interfejse.