DX Heroes logo
#engineering
#development

Co je gRPC?

Délka: 

4 min

Publikováno: 

9. června 2026

Co je gRPC?

Co znamená gRPC

gRPC je open-source framework, původně od Googlu, pro komunikaci mezi službami. Umožní jednomu programu zavolat funkci v jiném programu na jiném stroji, jako by ta funkce byla místní. Zkratka „RPC“ znamená Remote Procedure Call, tedy volání vzdáleného kódu stejně jako toho běžného.

Rychlost gRPC stojí na dvou věcech. Data posílá ve formátu Protocol Buffers (protobuf), což je úsporný binární formát místo textu jako JSON, a běží přes HTTP/2, který umí streamovat a sloučit mnoho volání do jediného spojení. Službu a její zprávy popíšete jednou v souboru .proto a gRPC z něj vygeneruje kód klienta i serveru pro řadu jazyků.

Lidsky řečeno

Běžné REST API je jako poslat podrobný dopis a čekat na písemnou odpověď: srozumitelné a čitelné, ale pomalejší. gRPC je spíš přímá telefonní linka mezi dvěma službami, kde obě mluví úspornou zkratkou, které musí rozumět jen ony dvě. Vzdáte se snadné čitelnosti pro člověka a na oplátku získáte rychlost a přísnou sdílenou smlouvu.

Kdy se to hodí

  • Komunikace mezi mikroslužbami. Rychlá volání s malou režií uvnitř vlastního systému jsou pro gRPC domácí prostředí.
  • Vysoká propustnost nebo nízká latence. Binární formát a streamování přes HTTP/2 se vyplatí, když děláte mnoho volání nebo přenášíte hodně dat.
  • Pevné sdílené smlouvy. Soubor .proto je jediný zdroj pravdy, takže se klient a server nemůžou nepozorovaně rozejít.
  • Streamování dat. gRPC zvládá dlouhotrvající streamy v obou směrech, což se hodí pro živé aktualizace a komunikaci podobnou chatu.

Na co si dát pozor

  • Není ideální pro veřejné API do prohlížeče. Prohlížeče neumí mluvit čistým gRPC přímo. Pro veřejné API, které volají webové frontendy, je obvykle jednodušší REST nebo GraphQL (případně přidáte proxy gRPC-Web).
  • Hůř se ladí ručně. Binární data nejsou čitelná pro člověka, takže si endpoint jen tak nezavoláte přes curl a očima odpověď neprojdete. Potřebujete pořádné nástroje.
  • Křivka učení. Protocol Buffers, generování kódu a HTTP/2 přidávají pojmy, které se tým musí naučit, než začne být produktivní.
  • Verzování chce kázeň. Nedbalá změna smlouvy v .proto rozbije všechny, kdo ji volají. Změny polí plánujte stejně pečlivě jako jakoukoli jinou nekompatibilní změnu API.

Související články

  • Co je API? - Širší pojem, jak spolu software komunikuje.
  • Zlepšete adopci API s OpenAPI specifikací - Protějšek smlouvy .proto ve světě REST.
  • Co je SDK? - Vygenerované klientské knihovny, které gRPC produkuje, jsou svého druhu SDK.

Chcete být o krok napřed?

Nenechte si utéct naše nejlepší postřehy. Žádný spam, jen praktické analýzy, pozvánky na exkluzivní eventy a shrnutí podcastů přímo do vaší schránky.