Heim > Artikel > Web-Frontend > nodejs bauen grpc
Vorwort
gRPC ist das leistungsstarke, sprachübergreifende Open-Source-RPC-Framework. Sein Ziel besteht darin, Client-Anwendungen den Aufruf serverseitiger Methoden wie den Aufruf lokaler Funktionen zu ermöglichen. Es unterstützt mehrere Programmiersprachen, darunter: C++, Python, Java. Go, Sprachen wie Node.js.
Die Verwendung von gRPC in Node.js kann unsere Interaktion zwischen dem Server und dem Client erheblich erleichtern und gleichzeitig eine hohe Leistung gewährleisten, aber auch Datensicherheit und Vertraulichkeit gewährleisten. In diesem Artikel wird erläutert, wie Sie Node.js zum Erstellen eines gRPC-Dienstes verwenden Terminal und Client.
Schritt 1: Node.js und gRPC installieren
Zunächst müssen Sie sicherstellen, dass Node.js und npm lokal installiert wurden. Geben Sie dann im Terminal den folgenden Befehl ein, um gRPC zu installieren:
npm install -g grpc
Nach Abschluss der Installation können Sie die Versionsinformationen von gRPC in der Datei package.json sehen.
Schritt 2: Definieren Sie die .proto-Datei
gRPC definiert den Dienst über die Proto-Datei, die zum Definieren der Dienstschnittstelle, des Nachrichtenformats usw. verwendet wird. Als Nächstes definieren wir zunächst einen einfachen Dienst, der es dem Client ermöglicht, eine Nachricht an den Server zu senden und nach Erhalt der Nachricht eine geänderte Nachricht zurückzugeben. Erstellen Sie eine Datei mit dem Namen example.proto und definieren Sie den folgenden Inhalt:
syntax = "proto3"; package example; service Example { rpc ModifyMessage (Message) returns (Message){} } message Message { string content = 1; }
Schritt 3: Code generieren
Führen Sie den folgenden Befehl in dem Verzeichnis aus, in dem sich die Datei example.proto befindet, um den entsprechenden Code zu generieren:
grpc_tools_node_protoc --js_out=import_style=commonjs,binary:./ --grpc_out=./ --plugin=protoc-gen-grpc=`which grpc_tools_node_protoc_plugin` example.proto
grpc_tools_node_protoc wird verwendet Hier wird der für Node.js erforderliche Code generiert und das Ausgabeverzeichnis angegeben.
Der generierte Code enthält: example_pb.js und example_grpc_pb.js.
Schritt 4: Implementieren Sie den Server
Der serverseitige Code lautet wie folgt:
const grpc = require("grpc"); const example = require("./example_pb"); const exampleService = require("./example_grpc_pb"); const server = new grpc.Server(); function modifyMessage(call, callback) { const response = new example.Message(); response.setContent(call.request.getContent().toUpperCase()); callback(null, response); } server.addService(exampleService.ExampleService, { modifyMessage: modifyMessage, }); server.bind("localhost:50051", grpc.ServerCredentials.createInsecure()); console.log("Server running at http://localhost:50051"); server.start();
In diesem Beispiel erstellt der Server einen neuen GRPC-Server und fügt dem Server eine Methode namens „modifyMessage“ hinzu. Diese Methode empfängt ein Message-Objekt als Parameter, wandelt das Inhaltsfeld im Message-Objekt in Großbuchstaben um und gibt es zurück.
Schließlich verwenden wir die Methode bind(), um den Dienst an localhost:50051 zu binden und den Server zu starten.
Schritt 5: Implementieren Sie den Client
Der Client-Code lautet wie folgt:
const grpc = require("grpc"); const example = require("./example_pb"); const exampleService = require("./example_grpc_pb"); const client = new exampleService.ExampleClient( "localhost:50051", grpc.credentials.createInsecure() ); const request = new example.Message(); request.setContent("Hello World!"); client.modifyMessage(request, function (err, response) { console.log("Modified message: ", response.getContent()); });
In diesem Beispiel erstellen wir ein BeispielClient-Objekt und verwenden dessen Methode „modifyMessage()“, um ein Message-Objekt an den Server zu senden. Abschließend geben wir die Antwort vom Server aus, der die Buchstaben im String in Großbuchstaben umgewandelt hat.
Schritt sechs: Führen Sie den Dienst aus
Jetzt müssen wir den Dienst nur noch mit dem folgenden Befehl in dem Verzeichnis starten, in dem sich der Servercode befindet:
node server.js
Führen Sie dann den folgenden Befehl in dem Verzeichnis aus, in dem sich der Clientcode befindet befindet sich:
node client.js
Sie sollten die folgende Ausgabe sehen:
Modified message: HELLO WORLD!
An diesem Punkt haben wir erfolgreich einen grundlegenden gRPC-Server- und Client-Interaktionsprozess implementiert.
Zusammenfassung
In diesem Artikel wird erläutert, wie Sie mit Node.js einen gRPC-Server und -Client erstellen und mit Protobuf die Datenstruktur und das Nachrichtenformat zwischen dem Erstellen von Diensten und dem Herstellen von Verbindungen definieren. gRPC ist ein leistungsstarkes, sprachübergreifendes RPC-Framework, das für Anwendungen nützlich ist, die schnell Daten zwischen Clients und Servern übertragen müssen.
Das obige ist der detaillierte Inhalt vonnodejs bauen grpc. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!