© Excellent backgrounds/Shutterstock.com
Java Magazin
Vert.x für Microservices

Eine reaktive Lösung

Microservices stellen uns Entwickler vor organisatorische Herausforderungen und zwingen uns zur Beschäftigung mit dem Thema verteilte Systeme. Genau für diese verteilten Systeme wurde die neue Generation reaktiver Anwendungsframeworks konzipiert. Vert.x hat sich hier in den letzten Jahren einen guten Namen gemacht und sich als eine beliebte Alternative zu den klassischen Frameworks etabliert.

Jochen Mader


Video: Microservice Architekturen mit Vert.x, Jetty und Docker

Microservices haben die Art, in der wir Anwendungen bauen, stärker verändert als jeder andere Trend zuvor. Die Änderungen ziehen eine breite Schneise durch die gesamte IT. Anforderungsmanagement, Teamstruktur, Operations, Infrastruktur und eingesetzte Frameworks haben sich in den letzten Jahren auf diesen Architekturstil zubewegt. Die Erwartungen an die eingesetzten Frameworks sind dabei hoch:

elastische Skalierbarkeitgute Testbarkeitim Framework eingebaute Resilienzausgereifte Monitoringunterstützungkompaktes Deployment

Einer der interessantesten Kandidaten bei der Auswahl eines passenden Microservices-Frameworks ist Vert.x. An dieser Stelle möchte ich auch gleich meinen Vert.x-Elevator-Pitch loswerden: Vert.x ist ein reaktives, modulares, nachrichtenorientiertes, polyglottes Framework, mit dem sich performante Microservices-Architekturen aber auch klassische Anwendungen umsetzen lassen. Im Jahre 2011 von Tim Fox aus der Taufe gehoben, hat Vert.x mittlerweile drei Major-Versionen, eine gut funktionierende Community und mit Red Hat einen starken Corporate-Sponsor vorzuweisen. Im folgenden Artikel werde ich zeigen, was Vert.x so interessant macht und weshalb es sich ausgezeichnet für Microservices eignet.

Micro!!!!111

Der kleinste Vert.x-Microservice besteht – inklusive Imports und Java-Boilerplate – aus 224 Zeichen. Ohne den Java-Pflichtanteil sind es sogar nur 103 Zeichen (Listing 1).

Listing 1: Ein kleiner Vert.x-Microserviceimport io.vertx.core.Vertx; public class HttpServer { public static void main(String[] args) { Vertx.vertx().createHttpServer().requestHandler(req -> req.response().end("Hello World")).listen(8000); }}

Fehlt noch das Deployment. Das Fat JAR hat sich für JVM-basierte Microservices als Deployment-Artefakt durchgesetzt [1]. Alle Vert.x Build Blueprints liefern das Erzeugen von Fat JARs direkt mit. In der Maven-Variante [2] reicht hierfür ein mvn package, für den Gradle Blueprint [3] verwendet man gradlew shadowJar. Danach liegt im Build-Ordner eine Datei mit der Bezeichnung -fat.JAR. Diese kann man mit java -jar /-fat.jar ausführen, direkt deployen (z. B. mit Nomad [4] von HashiCorp) oder klassisch in einen Docker-Container packen. Fertig ist der vollständige „Hello World“-Microservice.

Verticles sind Kernbausteine jeder Anwendung

Dieses erste Beispiel zeigt die Verwendung des Vert.x-API als Serverbaukasten. Auf diese Art lassen sich s...

Java Magazin
Vert.x für Microservices

Eine reaktive Lösung

Microservices stellen uns Entwickler vor organisatorische Herausforderungen und zwingen uns zur Beschäftigung mit dem Thema verteilte Systeme. Genau für diese verteilten Systeme wurde die neue Generation reaktiver Anwendungsframeworks konzipiert. Vert.x hat sich hier in den letzten Jahren einen guten Namen gemacht und sich als eine beliebte Alternative zu den klassischen Frameworks etabliert.

Jochen Mader


Video: Microservice Architekturen mit Vert.x, Jetty und Docker

Microservices haben die Art, in der wir Anwendungen bauen, stärker verändert als jeder andere Trend zuvor. Die Änderungen ziehen eine breite Schneise durch die gesamte IT. Anforderungsmanagement, Teamstruktur, Operations, Infrastruktur und eingesetzte Frameworks haben sich in den letzten Jahren auf diesen Architekturstil zubewegt. Die Erwartungen an die eingesetzten Frameworks sind dabei hoch:

elastische Skalierbarkeitgute Testbarkeitim Framework eingebaute Resilienzausgereifte Monitoringunterstützungkompaktes Deployment

Einer der interessantesten Kandidaten bei der Auswahl eines passenden Microservices-Frameworks ist Vert.x. An dieser Stelle möchte ich auch gleich meinen Vert.x-Elevator-Pitch loswerden: Vert.x ist ein reaktives, modulares, nachrichtenorientiertes, polyglottes Framework, mit dem sich performante Microservices-Architekturen aber auch klassische Anwendungen umsetzen lassen. Im Jahre 2011 von Tim Fox aus der Taufe gehoben, hat Vert.x mittlerweile drei Major-Versionen, eine gut funktionierende Community und mit Red Hat einen starken Corporate-Sponsor vorzuweisen. Im folgenden Artikel werde ich zeigen, was Vert.x so interessant macht und weshalb es sich ausgezeichnet für Microservices eignet.

Micro!!!!111

Der kleinste Vert.x-Microservice besteht – inklusive Imports und Java-Boilerplate – aus 224 Zeichen. Ohne den Java-Pflichtanteil sind es sogar nur 103 Zeichen (Listing 1).

Listing 1: Ein kleiner Vert.x-Microserviceimport io.vertx.core.Vertx; public class HttpServer { public static void main(String[] args) { Vertx.vertx().createHttpServer().requestHandler(req -> req.response().end("Hello World")).listen(8000); }}

Fehlt noch das Deployment. Das Fat JAR hat sich für JVM-basierte Microservices als Deployment-Artefakt durchgesetzt [1]. Alle Vert.x Build Blueprints liefern das Erzeugen von Fat JARs direkt mit. In der Maven-Variante [2] reicht hierfür ein mvn package, für den Gradle Blueprint [3] verwendet man gradlew shadowJar. Danach liegt im Build-Ordner eine Datei mit der Bezeichnung -fat.JAR. Diese kann man mit java -jar /-fat.jar ausführen, direkt deployen (z. B. mit Nomad [4] von HashiCorp) oder klassisch in einen Docker-Container packen. Fertig ist der vollständige „Hello World“-Microservice.

Verticles sind Kernbausteine jeder Anwendung

Dieses erste Beispiel zeigt die Verwendung des Vert.x-API als Serverbaukasten. Auf diese Art lassen sich s...

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