Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

gRPC Tutorial — schnelle interne Kommunikation

23. 09. 2024 1 Min. Lesezeit intermediate

gRPC für die Kommunikation zwischen Microservices. Protocol Buffers, Streaming und Beispiele in Node.js.

Warum gRPC?

  • ~10x schnellere Serialisierung (Protobuf vs JSON)
  • HTTP/2 Multiplexing
  • Bi-directional Streaming
  • Generierte Clients aus der Definition

Proto-Definition

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-Implementierung

// 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(), () => {});

Zusammenfassung

gRPC ist hervorragend für interne Dienste. Für öffentliche APIs bleiben Sie bei REST/GraphQL.

Brauchen Sie Hilfe bei der Implementierung?

Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.

Kostenlose Beratung

Teilen:

CORE SYSTEMS Team

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.