Registrierungspflichtiger Artikel

Microservices mit Spring Cloud, Teil 4 Routing und Filtern mit Spring Cloud Gateway

Von Dr. Dirk Koller

In Microservice-Umgebungen ist es hilfreich, wenn bestimmte Funktionalitäten wie zum Beispiel Authentifizierung, Logging oder das Erfassen von Metriken über alle Dienste hinweg funktionieren; und das – bei mehreren Entwicklungsteams – auch noch auf die gleiche Art und Weise.

Anbieter zum Thema

Erstellen des Gateway-Service im Initializr.
Erstellen des Gateway-Service im Initializr.
(Bild: Koller / Spring.io)

Die Lösung für dieses Problem ist es, diese Cross Cutting Concerns einer zentralen Instanz, einem API Gateway-Service zu überlassen. Eingehende Aufrufe laufen dann nicht mehr direkt vom Client zum Service, sondern nehmen den Umweg über das Gateway und werden von dort zum eigentlichen Empfänger geroutet. Auf dem zentralen Gateway lassen sich dann mithilfe von Filtern Aktionen wie Logging, Security-Überprüfungen und andere Funktionalitäten implementieren.

Für Spring Cloud gibt es mehrere dieser Gateways. Hier stellen wir das native Spring Cloud Gateway vor. Gegenüber dem bekannten und etwas älteren Zuul aus dem Netflix-Stack setzt Spring Cloud Gateway auf neuere Technologien wie Spring 5, Spring Boot 2 und Reactor und unterstützt Websockets.