Heim >Web-Frontend >js-Tutorial >Erstellen von Microservices mit Deno, Reno und Postgresql
Dieses Tutorial zeigt, dass Microservices mit Deno und Reno, einer leichten Deno -Routing -Bibliothek, bauen. Wir erstellen einen Microservice, der mit einer Datenbank interagiert.
Deno, eine sichere Laufzeit von JavaScript/TypeScript, verbessert Node.js, indem sie die Modulverwaltung vereinfacht und APIs mit den Browser -Standards ausgerichtet. Obwohl ihr Anwendungspotential grundsätzlich unterschiedlich ist, überschneidet sich weitgehend. Node.js zeichnet sich bei HTTP Services aus, eine Stärke -Deno -Aktien.
Schlüsselkonzepte:
std/http
Modul ermöglicht eine einfache Erstellung von HTTP -Server und das grundlegende Routing. deno-postgres
erleichtert robuste Datenbankvorgänge. einfache http -Server mit std/http
:
Erstellen Sie vor der Einführung von Reno einen grundlegenden HTTP -Server mithilfe der Standardbibliothek von Deno. Installieren Sie Deno (z. B. curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.3.0
auf Unix-ähnlichen Systemen). Aktualisieren Sie bei Bedarf auf Version 1.3.0 oder höher (deno upgrade --version 1.3.0
). Überprüfen Sie die Installation mit deno --version
.
erstellen server.ts
:
<code class="language-typescript">import { listenAndServe } from "https://deno.land/std@0.65.0/http/mod.ts"; const BINDING = ":8000"; console.log(`Listening on ${BINDING}...`); await listenAndServe(BINDING, (req) => { req.respond({ body: "Hello world!" }); });</code>
mit deno run --allow-net server.ts
ausführen. Das --allow-net
Flag gewährt den Netzwerkzugriff.
Verbesserung std/http
für komplexe Dienste:
Der Basis -Server ist begrenzt. Lassen Sie es uns verbessern, um einen std/http
-Dendpunkt zu verarbeiten (zum Hinzufügen von Nachrichten erhalten). Wir fügen bedingte Überprüfungen für URL- und HTTP -Methoden hinzu. /messages
reno für die Routenverwaltung:
Für mehrere Endpunkte wird die manuelle Verwaltung von Routen umständlich. Reno vereinfacht dies. Lassen Sie uns unseren Nachrichtendienst mit Reno wieder aufbauen:
<code class="language-typescript">// ... (imports, including Reno) ... const routes = createRouteMap([ [ "/messages", forMethod([ ["GET", getMessages], ["POST", withJsonBody<messagepayload>(addMessage)], ]), ], ]); const router = createRouter(routes); // ... (server setup using the router) ...</messagepayload></code>Reno übernimmt Pfadanalyse und HTTP -Methodenverwaltung, wodurch sich die Anwendungslogik konzentriert. Es ist ein Router-as-a-Funktion, der leicht in bestehende Deno-Dienste integriert ist.
Erstellen eines Blog -Microservice:
Wir erstellen einen Blog -Post -MicroService mit PostgreSQL mit dem -Modul. Der Endpunkt deno-postgres
unterstützt GET (alle Beiträge, einzelner Beitrag nach ID), Post (Post) und Patch (Post -Update -Post). (Der detaillierte Code für diesen Abschnitt ist für die Kürze weggelassen, ist jedoch im Originaltext verfügbar.) /posts
Fehlerbehandlung:
Benutzerdefinierte Fehlerklassen verbessern die Fehlerbehandlung. Beispielsweise kann eine PostNotFoundError
-Klasse erstellt werden, um fehlende Beiträge zu verarbeiten, und eine 404 anstelle eines generischen Fehlers zurückgibt.
Zusammenfassung:
Während std/http
für einfache Dienste ausreicht, verbessert Reno die Entwicklung von Microservice erheblich, indem es die Routenmanagement- und Fehlerbehandlung vereinfacht. Für größere Projekte könnte ein Rahmen wie Oak bevorzugt werden, aber Renos leichte Natur ist ideal für viele Microservices.
Das obige ist der detaillierte Inhalt vonErstellen von Microservices mit Deno, Reno und Postgresql. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!