Home » Webentwicklung » Microservices in NodeJS – AdnanTech

Microservices in NodeJS – AdnanTech

Die Microservices-Architektur in NodeJS ist eine Gruppe lose gekoppelter Dienste, die unabhängig voneinander funktionieren. Der Ausfall eines Dienstes hat keine Auswirkungen auf die anderen Dienste im System. Betrachten Sie jeden Dienst als separaten Server oder System.

Sie haben beispielsweise eine Website für soziale Netzwerke. So können Sie einen Microservice erstellen, der alle Funktionen der Benutzer übernimmt, einen Microservice zum Verwalten von Beiträgen, einen Microservice für Kommentare usw.

Heute werden wir solche Microservices in Node JS erstellen. Zuerst erstellen wir zwei Microservices. Eine für die Benutzerverwaltung und eine für Beiträge. Anschließend erstellen wir ein Gateway, das die API-Anfragen an den entsprechenden Dienst weiterleitet.

Erstellen Sie einen Benutzer-Microservice

Zunächst erstellen wir einen Microservice für Benutzer. Erstellen Sie einen Ordner mit dem Namen Benutzer und darin eine Datei mit dem Namen erstellen server.js. Öffnen Sie anschließend die Eingabeaufforderung oder das Terminal Benutzer Ordner und führen Sie nacheinander die folgenden Befehle aus:

> npm init
> npm install -g nodemon
> npm install express
> nodemon server.js

Im Folgenden finden Sie Ihren Code server.js Datei darin Benutzer Ordner.

const express = require("express")
const app = express()

app.get("/getData", function (request, result) {
	result.send("Get data from users.")
})

app.listen(3001, function () {
	console.log("User service is running.")
})

Es erstellt einfach einen Dienst, der am Port ausgeführt wird 3001. Dies ist Ihr separater Server für die Bearbeitung von Benutzeranfragen.

Microservice für Beiträge erstellen

Jetzt erstellen wir einen Microservice für die Bearbeitung von Post-Anfragen. Erstellen Sie einen Ordner mit dem Namen Beiträge und darin eine Datei mit dem Namen erstellen server.js. Öffnen Sie anschließend die Eingabeaufforderung oder das Terminal Beiträge Ordner und führen Sie nacheinander die folgenden Befehle aus:

> npm init
> npm install express
> nodemon server.js

Die Befehle sind die gleichen wie in users Ordner. Öffne das server.js Datei darin Beiträge Ordner und schreiben Sie den folgenden Code hinein.

const express = require("express")
const app = express()

app.get("/getData", function (request, result) {
	result.send("Get data from posts.")
})

app.listen(3002, function () {
	console.log("Post service is running.")
})

Es ähnelt fast dem des Benutzers server.js Datei. Lediglich die Portnummer ist unterschiedlich. Es läuft auf Port 3002.

Sie haben also zwei verschiedene Dienste, die unabhängig voneinander laufen. Fällt der Benutzerserver aus, läuft der Postserver selbstständig weiter. Jetzt müssen wir ein Gateway dazwischen haben, das die Route weiterleitet users API-Anfragen an den Server des Benutzers und posts API-Anfragen an den Server des Beitrags.

Beachten Sie, dass jeder Miroservice auf einem anderen Server oder Prozess ausgeführt werden sollte. Denn der Sinn und Zweck der Erstellung von Microservices besteht darin, lose gekoppelte Dienste zu erstellen.

Erstellen Sie ein Gateway

Alle API-Anfragen werden an den Gateway-Server gesendet. Der Gateway-Server leitet die Anfrage dann an den entsprechenden Dienst weiter.

Erstellen Sie einen Ordner mit dem Namen Tor. Erstellen Sie eine Datei mit dem Namen server.js hinein und öffnen Sie die Eingabeaufforderung darin. Führen Sie dann nacheinander die folgenden Befehle in diesem Ordner aus:

> npm init
> npm install fast-gateway
> nodemon server.js

Wir werden verwenden schnelles Gateway NPM-Modul. Es folgt der Code von server.js Datei darin Tor Ordner.

const gateway = require("fast-gateway")

const server = gateway({
	routes: [
		{
			prefix: "/users",
			target: "http://localhost:3001"
		},
		{
			prefix: "/posts",
			target: "http://localhost:3002"
		}
	]
})

server.get("/serverApi", function (request, result) {
	result.send("Server API is called.")
})

server.start(3000).then(function () {
	console.log("Server is started running.")
})

Der Gateway-Server wird auf dem Port ausgeführt 3000. Führen Sie die folgende URL in Ihrem Webbrowser aus:

http://localhost:3000/users/getData

Sie sehen die Meldung „Daten von Benutzern abrufen“. Daher leitet das Gateway automatisch alle Anfragen mit dem Präfix „/users“ an den Benutzer-Microservice weiter. Das Gleiche gilt für Beiträge. Führen Sie die folgende URL im Webbrowser aus:

http://localhost:3000/posts/getData

Jetzt sehen Sie die Meldung „Daten aus Beiträgen abrufen“. So können Sie Microservices in NodeJS erstellen.


Beitragsaufrufe: 24