© Liashko/Shutterstock.com
Entwickler Magazin
Mit Node.js, Express und Seneca ins Microservices-Universum

Microservices mit Node.js

Dieser Artikel beschäftigt sich sowohl mit der Umsetzung von Microservices in Node.js als auch mit der Einbindung bestehender Microservices in eine Node. js-Applikation. Außerdem erfahren Sie, wie Sie Microservices skalieren können und wie sich sowohl synchrone als auch asynchrone Microservices mit Node.js umsetzen lassen.

Sebastian Springer


Microservices sind der Inbegriff einer leichtgewichtigen und flexiblen Architektur. Warum sollten Sie also nicht solche Microservices mit einer ebenfalls leichtgewichtigen Plattform wie Node.js umsetzen? Einer der großen Vorteile einer Microservices-Architektur ist, dass Sie für jeden Microservice, den Sie implementieren, die Programmiersprache und die Technologien unabhängig von den übrigen Services in Ihrer Infrastruktur für das jeweils zu lösende Problem wählen können. Das bedeutet, dass Sie nicht Ihre komplette Applikation mit Node. js schreiben müssen, sondern nur ganz bestimmte Teile damit umsetzen können. Der modulare Aufbau von Node.js zieht sich sowohl durch die Plattform selbst als auch durch den Paketmanager npm und die meisten Applikationen, die mit Node.js umgesetzt werden. Auf dieser Basis können Sie mit der Umsetzung einer Applikation mit Microservices starten. Dabei sollten Sie jedoch einiges beachten, damit Sie auch von den Vorteilen dieser Architekturform profitieren.

Ein Microservice in Node.js

Sie haben sich also entschlossen, einen Microservice in Node.js umzusetzen. Bevor Sie mit der eigentlichen Entwicklung beginnen, sollten Sie sich zunächst darüber Gedanken machen, wie Ihr Service aufgebaut ist. Ein Microservice kann grundsätzlich nur eine Sache, die dafür aber gut. Erledigt ein solcher Service zu viele Dinge, besteht die Gefahr, dass ein weiterer Monolith daraus entsteht.

Für die folgenden Abschnitte gehen wir von einem Time-Tracking-Service aus, der beispielsweise zur Zeit­erfassung in einem Projekt dienen kann. Über diesen Time-Tracker können Sie die Beginn- und Endzeiten sowie das Datum bestimmter Aufgaben erfassen. Jeder Aufgabe ist neben dem Beginn und Ende ein Titel, eine Beschreibung, ein Projektkürzel und ein Mitarbeitername zugeordnet. Das Ziel der Implementierung ist, dass Sie diesen Service in jeder beliebigen Applikation einbinden und nutzen können; zu diesem Zweck müssen Sie allerdings eine definierte Schnittstelle schaffen. In den meisten Fällen wird das ein Web Service sein. Diese Art der Anbindung lässt sich mit Node.js sehr gut bewerkstelligen, da die Schnittstellen entweder direkt durch interne Module oder externe Pakete erzeugt werden können. Ob es sich dabei um einen leichtgewichtigen REST-Service oder einen etwas unhandlicheren SOAP-Service handelt, hängt vor allem von Ihren Anforderungen und Vorlieben ab.

Für die Implementierung des Beispiels kommt ein REST-Service zum Einsatz. Im Gegensatz zu einer monolithis...

Entwickler Magazin
Mit Node.js, Express und Seneca ins Microservices-Universum

Microservices mit Node.js

Dieser Artikel beschäftigt sich sowohl mit der Umsetzung von Microservices in Node.js als auch mit der Einbindung bestehender Microservices in eine Node. js-Applikation. Außerdem erfahren Sie, wie Sie Microservices skalieren können und wie sich sowohl synchrone als auch asynchrone Microservices mit Node.js umsetzen lassen.

Sebastian Springer


Microservices sind der Inbegriff einer leichtgewichtigen und flexiblen Architektur. Warum sollten Sie also nicht solche Microservices mit einer ebenfalls leichtgewichtigen Plattform wie Node.js umsetzen? Einer der großen Vorteile einer Microservices-Architektur ist, dass Sie für jeden Microservice, den Sie implementieren, die Programmiersprache und die Technologien unabhängig von den übrigen Services in Ihrer Infrastruktur für das jeweils zu lösende Problem wählen können. Das bedeutet, dass Sie nicht Ihre komplette Applikation mit Node. js schreiben müssen, sondern nur ganz bestimmte Teile damit umsetzen können. Der modulare Aufbau von Node.js zieht sich sowohl durch die Plattform selbst als auch durch den Paketmanager npm und die meisten Applikationen, die mit Node.js umgesetzt werden. Auf dieser Basis können Sie mit der Umsetzung einer Applikation mit Microservices starten. Dabei sollten Sie jedoch einiges beachten, damit Sie auch von den Vorteilen dieser Architekturform profitieren.

Ein Microservice in Node.js

Sie haben sich also entschlossen, einen Microservice in Node.js umzusetzen. Bevor Sie mit der eigentlichen Entwicklung beginnen, sollten Sie sich zunächst darüber Gedanken machen, wie Ihr Service aufgebaut ist. Ein Microservice kann grundsätzlich nur eine Sache, die dafür aber gut. Erledigt ein solcher Service zu viele Dinge, besteht die Gefahr, dass ein weiterer Monolith daraus entsteht.

Für die folgenden Abschnitte gehen wir von einem Time-Tracking-Service aus, der beispielsweise zur Zeit­erfassung in einem Projekt dienen kann. Über diesen Time-Tracker können Sie die Beginn- und Endzeiten sowie das Datum bestimmter Aufgaben erfassen. Jeder Aufgabe ist neben dem Beginn und Ende ein Titel, eine Beschreibung, ein Projektkürzel und ein Mitarbeitername zugeordnet. Das Ziel der Implementierung ist, dass Sie diesen Service in jeder beliebigen Applikation einbinden und nutzen können; zu diesem Zweck müssen Sie allerdings eine definierte Schnittstelle schaffen. In den meisten Fällen wird das ein Web Service sein. Diese Art der Anbindung lässt sich mit Node.js sehr gut bewerkstelligen, da die Schnittstellen entweder direkt durch interne Module oder externe Pakete erzeugt werden können. Ob es sich dabei um einen leichtgewichtigen REST-Service oder einen etwas unhandlicheren SOAP-Service handelt, hängt vor allem von Ihren Anforderungen und Vorlieben ab.

Für die Implementierung des Beispiels kommt ein REST-Service zum Einsatz. Im Gegensatz zu einer monolithis...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang