grpc
Obsah
gRPC
gRPC (gRPC Remote Procedure Call) je moderní, vysoce výkonný open-source framework pro vzdálené volání procedur. Původně byl vyvinut společností Google a nyní spadá pod Cloud Native Computing Foundation (CNCF).
Umožňuje klientským a serverovým aplikacím komunikovat spolu tak transparentně, jako by volání vzdálené metody bylo lokální funkcí.
Klíčové technologie
gRPC stojí na dvou pilířích, které mu zajišťují rychlost a efektivitu:
- HTTP/2: Využívá nejnovější verzi protokolu HTTP, která umožňuje binární přenos, multiplexování (více požadavků po jednom spojení) a streamování dat.
- Protocol Buffers (Protobuf): Místo textového formátu (JSON/XML) používá binární serializační formát. Data jsou díky tomu menší a jejich zpracování je mnohem rychlejší.
Typy komunikace
Na rozdíl od standardního RESTu, gRPC podporuje čtyři režimy přenosu:
1. Unary: Klasický model požadavek-odpověď. 2. Server streaming: Klient pošle jeden požadavek a server odpovídá proudem dat. 3. Client streaming: Klient posílá proud dat a server odpoví jednou zprávou. 4. Bidirectional streaming: Obě strany posílají proudy dat nezávisle na sobě (obousměrný duplex).
Srovnání: gRPC vs. REST
| Vlastnost | gRPC | REST |
|---|---|---|
| Formát dat | Binární (Protobuf) | Textový (JSON, XML) |
| Protokol | Striktně HTTP/2 | HTTP/1.1 nebo HTTP/2 |
| Typování | Silné (definované v .proto souboru) | Slabé (volitelně JSON Schema) |
| Rychlost | Velmi vysoká (nízká latence) | Nižší (režie textového formátu) |
Příklad definice služby (.proto)
grpc.txt · Poslední úprava: autor: admin
