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 Tutorial — rychlá interní komunikace

01. 01. 2024 1 min čtení intermediate

Architektura Pokročilý

gRPC Tutorial — rychlá interní komunikace

gRPCProtocol BuffersRPC 3 min čtení

gRPC pro komunikaci mezi mikroservisami. Protocol Buffers, streaming a příklady v Node.js.

Proč gRPC?

  • ~10x rychlejší serializace (Protobuf vs JSON)
  • HTTP/2 multiplexing
  • Bi-directional streaming
  • Generovaní klienti z definice

Proto definice

syntax = "proto3";
service OrderService {
    rpc CreateOrder (CreateOrderRequest) returns (Order);
    rpc ListOrders (ListRequest) returns (stream Order);
}
message Order {
    string id = 1;
    string customer_id = 2;
    double total = 3;
    string status = 4;
}

Node.js implementace

// Server
const grpc = require('@grpc/grpc-js');
const proto = grpc.loadPackageDefinition(protoLoader.loadSync('order.proto'));
const server = new grpc.Server();
server.addService(proto.order.OrderService.service, {
    createOrder: (call, cb) => {
        const order = { id: genId(), ...call.request, status: 'CREATED' };
        cb(null, order);
    }
});
server.bindAsync('0.0.0.0:50051', grpc.ServerCredentials.createInsecure(), () => {});

Shrnutí

gRPC je výborný pro interní služby. Pro veřejné API zůstaňte u REST/GraphQL.

Potřebujete pomoct s implementací?

Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.

Nezávazná konzultace