Junior — Middle
Aké sú výhody a nevýhody používania gRPC v porovnaní s inými protokolmi vzdialeného volania procedúr?
sobes.tech AI
Odpoveď od AI
gRPC je moderný rámec pre vzdialené volania procedúr (RPC), ktorý využíva HTTP/2 a Protocol Buffers.
Výhody gRPC:
- Vysoký výkon vďaka HTTP/2 (multiplexing, kompresia hlavičiek).
- Efektívna serializácia pomocou Protocol Buffers, čo znižuje objem prenášaných dát.
- Podpora pre obojsmerné streamovanie dát (klient-server).
- Automatické generovanie kódu pre rôzne programovacie jazyky.
- Jasne definovaná API zmluva cez súbory .proto.
Nevýhody gRPC:
- Menšia podpora v prehliadačoch (vyžaduje proxy alebo gRPC-Web).
- Zložitejšia konfigurácia v porovnaní s REST/HTTP JSON.
- Vyžaduje naučiť sa Protocol Buffers a špecifiká HTTP/2.
- Menšia flexibilita pri práci s cache a ladení v porovnaní s REST.
V porovnaní s REST:
- gRPC je vhodnejší pre mikroservisy a systémy s vysokým výkonom.
- REST je jednoduchší na integráciu s webovými klientmi a ladenie.
Príklad definície služby v gRPC:
service UserService {
rpc GetUser (UserRequest) returns (UserResponse);
}