Web Developmentexpert

Čo je gRPC?

gRPC je vysokovýkonný open-source framework pre vzdialené volanie procedúr (RPC), ktorý vytvoril Google. Používa HTTP/2 protokol a Protocol Buffers na serializáciu dát. Je obľúbený v mikroservisných architektúrach vďaka rýchlosti a podpore streamovania.

Definícia gRPC

Čo je gRPC

gRPC (gRPC Remote Procedure Calls) je multiplatformový vysokovýkonný RPC framework, ktorý pôvodne vytvoril Google. Prvá verzia bola vydaná v auguste 2016 a dnes je to open-source projekt pod licenciou Apache 2.0. gRPC je napísaný v jazykoch vrátane C++, Java, Python, Go, Ruby, Node.js a ďalších.

Na rozdiel od REST API, ktoré typicky používa textový JSON, gRPC využíva binárny formát Protocol Buffers (protobuf), čo je výrazne rýchlejšie na serializáciu aj deserializáciu. Komunikácia prebieha cez HTTP/2, čo umožňuje multiplexovanie, komresiu hlavičiek a obojsmerné streamovanie.

Kľúčové vlastnosti gRPC

  • Protocol Buffers — rozhranie sa definuje v .proto súboroch, z ktorých sa generuje kód pre klienta aj server
  • Štyri typy komunikácie — unárne volanie, server streaming, klient streaming a obojsmerné (bidirectional) streaming
  • Autentifikácia — vstavaná podpora pre TLS a token-based autentifikáciu
  • Deadlines/timeouty — klient môže nastaviť maximálny čas čakania na odpoveď
  • Generovanie kódu — automatické generovanie klientských a serverových knižníc pre viac ako 10 programovacích jazykov

gRPC sa používa na prepájanie mikroservisov, komunikáciu mobilných klientov s backendom a v IoT systémoch. Využívajú ho firmy ako Netflix, Slack, Square a samotný Google.

Praktický príklad

Príklad: Máte e-commerce platformu s mikroservisnou architektúrou — služba objednávok, služba skladových zásob a služba platieb.

Keď zákazník vytvorí objednávku, služba objednávok zavolá cez gRPC službu skladových zásob (overí dostupnosť) a službu platieb (spracuje platbu). Vďaka Protocol Buffers a HTTP/2 je celá komunikácia 5-10x rýchlejšia ako cez JSON REST API — čo pri tisíckach objednávok za sekundu robí obrovský rozdiel.

Často kladené otázky

Čo je gRPC a kto ho vytvoril?

gRPC je vysokovýkonný RPC framework vytvorený Googlom v roku 2016. Používa HTTP/2 a Protocol Buffers na rýchlu binárnu komunikáciu medzi službami. Je open-source pod licenciou Apache 2.0.

Aký je rozdiel medzi gRPC a REST?

REST používa textový JSON cez HTTP/1.1, gRPC používa binárne Protocol Buffers cez HTTP/2. gRPC je rýchlejší a podporuje streaming, ale je ťažšie laditeľný a menej čitateľný pre ľudí. REST je jednoduchší a univerzálnejší.

Kedy použiť gRPC?

gRPC je ideálny pre komunikáciu medzi mikroservismi, kde záleží na rýchlosti a efektivite. Je vhodný aj pre mobilné aplikácie (menšia veľkosť dát) a real-time streamovanie. Pre verejné API určené externým vývojárom je REST stále lepšou voľbou.

Čo sú Protocol Buffers?

Protocol Buffers (protobuf) sú jazykovo neutrálny binárny serializačný formát od Googlu. Rozhranie sa definuje v .proto súboroch, z ktorých sa automaticky generuje kód pre rôzne programovacie jazyky.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.