logo

Zuul API Gateway

Was ist Zuul?

Zuul Server ist eine API-Gateway-Anwendung. Es verarbeitet alle Anfragen und führt das dynamische Routing von Microservice-Anwendungen durch. Es fungiert als Eingangstür für alle Anfragen. Es ist auch bekannt als Edge-Server.

Zuul ist darauf ausgelegt, es zu ermöglichen dynamisches Routing, Überwachung, Ausfallsicherheit, Und Sicherheit. Es kann die Anfragen auch an mehrere weiterleiten Amazon Auto Scaling-Gruppen .

Zum Beispiel, /api/products werden dem zugeordnet Produkt Service und /api/user wird dem zugeordnet Benutzer Service. Der Zuul-Server leitet die Anfragen dynamisch an die jeweilige Backend-Anwendung weiter.

Warum verwenden wir Zuul?

Das Volumen und die Vielfalt des Netflix-API-Verkehrs führen manchmal zu Produktionsproblemen, die schnell und ohne Vorwarnung auftreten. Wir brauchen also ein System, das es uns ermöglicht, unser Verhalten schnell zu ändern, um auf diese Situationen zu reagieren.

Zuul bietet eine Reihe verschiedener Arten von Filter Dadurch können wir schnell und flexibel Funktionen auf unseren Edge-Service anwenden. Die Filter erfüllen folgende Funktionen:

    Authentifizierung und Sicherheit:Es stellt Authentifizierungsanforderungen für jede Ressource bereit.
    Einblicke und Überwachung:Es verfolgt aussagekräftige Daten und Statistiken, die uns einen genauen Überblick über die Produktion geben.
    Dynamisches Routing:Es leitet die Anforderungen je nach Bedarf dynamisch an verschiedene unterstützte Cluster weiter.Belastbarkeitstest:Es erhöht den Datenverkehr zu einem Cluster, um die Leistung zu testen.Lastabwurf:Es weist Kapazität für jeden Anforderungstyp zu und verwirft eine Anforderung, die das Limit überschreitet.Statische Antwortbehandlung:Einige Antworten werden direkt am Edge erstellt, anstatt sie an einen internen Cluster weiterzuleiten.Multiregionale Ausfallsicherheit:Es leitet Anfragen über AWS-Regionen hinweg weiter, um unsere ELB-Nutzung zu diversifizieren.

Zuul-Komponenten

Zuul 2.x-Komponenten:

    Zuul-Kern:Es handelt sich um eine Bibliothek, die die Kernfunktionalität von Zuul 2.0 enthält.Zuul-Beispiel:Es handelt sich um eine Beispieltreiberanwendung für Zuul 2.0

Zuul 1.x-Komponenten:

    Zuul-Kern:Es definiert die Kernfunktionalität.zuul-simple-webapp:Eine Web-App, die ein einfaches Beispiel für die Erstellung einer Anwendung mit Zuul-Core zeigt.Zuul-Netflix:Es handelt sich um eine Bibliothek, die Zuul weitere NetflixOSS-Komponenten hinzufügt.zuul-netflix-webapp:Es handelt sich um eine Webanwendung, die Zuul-Core und Zuul-Netflix zusammenfasst.

Einrichten des Zuul API Gateway Servers

Es gibt drei Schritte zum Einrichten des Zuul API Gateway:

  • Erstellen Sie eine Komponente für das Zuul API Gateway
  • Entscheiden Sie, was das Zuul API Gateway tun soll
  • Alle wichtigen Anfragen sind so konfiguriert, dass sie das Zuul API Gateway passieren

Befolgen Sie die Schritte zum Einrichten des Zuul API Gateway-Servers.

Schritt 1: Offen Frühlingsinitialisierung https://start.spring.io .

Schritt 2: Das ____ bereitstellen Gruppe Name. Wir haben zur Verfügung gestellt com.javatpoint.microservices.

Schritt 3: Das ____ bereitstellen Artefakt. Wir haben zur Verfügung gestellt Netflix-Zuul-API-Gateway-Server.

Schritt 4: Fügen Sie die folgenden Abhängigkeiten hinzu: Zuul, Eureka Discovery, Aktuator, Und DevTools.

Zuul API Gateway

Schritt 5: Klick auf das Generieren Taste. Es beginnt mit dem Packen des Projekts Reißverschluss Datei herunter und laden Sie sie herunter.

Zuul API Gateway

Schritt 6: Extrahieren Laden Sie die ZIP-Datei herunter und fügen Sie sie in den Arbeitsbereich der Spring Tool Suite ein.

Schritt 7: Importieren Das Projekt in der STS-IDE.

Datei -> Importieren -> Vorhandene Maven-Projekte -> Durchsuchen -> Auswählen Netflix-Zuul-API-Gateway-Server -> Ordner auswählen -> Fertig stellen

Der Import dauert einige Zeit.

Schritt 8: Öffne das NetflixZuulApiGatewayServerApplication.java Datei und aktivieren Sie den Zuul-Proxy und den Discovery-Client mithilfe der Anmerkungen @EnableZuulProxy Und @EnableDiscoveryClient, jeweils .

NetflixZuulApiGatewayServerApplication.java

 package com.javatpoint.microservices.netflixzuulapigatewayserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.zuul.EnableZuulProxy; @EnableZuulProxy @EnableDiscoveryClient @SpringBootApplication public class NetflixZuulApiGatewayServerApplication { public static void main(String[] args) { SpringApplication.run(NetflixZuulApiGatewayServerApplication.class, args); } } 

Schritt 9: Offen application.properties Datei und konfigurieren Sie die Anwendungsname, Port, Und Eureka-Namensserver .

application.properties

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Klicken Sie hier, um den netflix-zuul-api-gateway-server herunterzuladen