Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

gRPC — rychlejší komunikace mezi mikroslužbami

17. 10. 2018 1 min čtení CORE SYSTEMSdevelopment

Naše mikroslužby komunikují přes REST s JSON. Funguje to, ale serializace JSON je pomalá, schéma neexistuje a streaming je hack. gRPC řeší všechny tři problémy.

Co je gRPC

RPC framework od Googlu. Protocol Buffers pro serializaci (binární, kompaktní, typované) a HTTP/2 jako transport (multiplexing, streaming).

syntax = "proto3";
service OrderService {
  rpc CreateOrder (CreateOrderRequest) returns (Order);
  rpc StreamUpdates (GetOrderRequest) returns (stream OrderUpdate);
}
message Order {
  string id = 1;
  string status = 2;
}

Výkonnostní rozdíl

  • Serializace: protobuf 3-5x rychlejší než JSON
  • Payload: protobuf 2-3x menší
  • Latence: gRPC ~30 % nižší díky HTTP/2
  • Streaming: gRPC nativní

Kde gRPC, kde REST

gRPC: interní služba-služba, high-throughput streaming. REST: veřejné API, browser, třetí strany. Envoy umí gRPC-JSON transcoding na hranici systému.

gRPC je ideální pro interní mikroslužby

Pro veřejné API REST, pro interní komunikaci gRPC — typovaný kontrakt, vysoký výkon a nativní streaming. Postupně migrujeme.

grpcprotocol buffersmicroservicesperformance