Sobes.tech
Junior — Middle

Jaké jsou výhody a nevýhody používání gRPC ve srovnání s jinými protokoly vzdáleného volání procedur?

sobes.tech AI

Odpověď od AI

gRPC je moderní rámec pro vzdálené volání procedur (RPC), který využívá HTTP/2 a Protocol Buffers.

Výhody gRPC:

  • Vysoký výkon díky HTTP/2 (multiplexing, komprese hlaviček).
  • Efektivní serializace pomocí Protocol Buffers, což snižuje objem přenášených dat.
  • Podpora streamování dat obousměrně (klient-server).
  • Automatická generace kódu pro různé programovací jazyky.
  • Jasně definovaná smlouva API přes soubory .proto.

Nevýhody gRPC:

  • Menší podpora v prohlížečích (vyžaduje proxy nebo gRPC-Web).
  • Složitější konfigurace ve srovnání s REST/HTTP JSON.
  • Vyžaduje naučit se Protocol Buffers a specifika HTTP/2.
  • Menší flexibilita při práci s cache a laděním ve srovnání s REST.

Ve srovnání s REST:

  • gRPC je vhodnější pro mikroservisy a systémy s vysokým výkonem.
  • REST je jednodušší pro integraci s webovými klienty a ladění.

Příklad definice služby v gRPC:

service UserService {
  rpc GetUser (UserRequest) returns (UserResponse);
}