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.