Heim >Web-Frontend >js-Tutorial >Erstellen von Microservices mit Deno, Reno und Postgresql

Erstellen von Microservices mit Deno, Reno und Postgresql

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-02-10 11:36:11919Durchsuche

Dieses Tutorial zeigt, dass Microservices mit Deno und Reno, einer leichten Deno -Routing -Bibliothek, bauen. Wir erstellen einen Microservice, der mit einer Datenbank interagiert.

Building Microservices with Deno, Reno, and PostgreSQL

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:

  • Denos sichere Umgebung und Browser-APIs sind ideal für HTTP-Dienste.
  • Denos std/http Modul ermöglicht eine einfache Erstellung von HTTP -Server und das grundlegende Routing.
  • Reno renoviert Routenerklärung und HTTP -Methodenverwaltung, Verbesserung der Codeorganisation.
  • postgresql -Integration über deno-postgres erleichtert robuste Datenbankvorgänge.
  • Benutzerdefinierte Fehlerklassen verbessern die Klarheit der Fehlerbehandlung in der Client-Server-Kommunikation.
  • Deno, Reno und PostgreSQL Combine für skalierbare, effiziente Microservice -Entwicklung.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn