logo

Zuul API-gateway

Wat is Zul?

Zuul Server is een API Gateway-applicatie. Het verwerkt alle verzoeken en voert de dynamische routering van microservice-applicaties uit. Het werkt als een voordeur voor alle verzoeken. Het is ook bekend als Edge-server.

Zuul is gebouwd om dit mogelijk te maken dynamische routing, monitoring, veerkracht, En beveiliging. Het kan de verzoeken ook naar meerdere routeren Amazon-groepen voor automatisch schalen .

Bijvoorbeeld, /api/producten zijn in kaart gebracht Product dienst en /api/gebruiker wordt in kaart gebracht gebruiker dienst. De Zuul Server routeert de verzoeken dynamisch naar de betreffende backend-applicatie.

Waarom gebruiken wij Zuul?

Het volume en de verscheidenheid aan Netflix API-verkeer resulteren soms in productieproblemen die snel en zonder waarschuwing optreden. We hebben dus een systeem nodig waarmee we snel gedrag kunnen veranderen om op deze situaties te kunnen reageren.

Zuul biedt een scala aan verschillende soorten filters waarmee we snel en behendig functionaliteit kunnen toepassen op onze edge-service. De filters voeren de volgende functies uit:

    Authenticatie en beveiliging:Het biedt authenticatievereisten voor elke bron.
    Inzichten en monitoring:Het houdt betekenisvolle gegevens en statistieken bij die ons een nauwkeurig beeld van de productie geven.
    Dynamische routering:Het stuurt indien nodig de aanvragen dynamisch door naar verschillende ondersteunde clusters.Stress testen:Het verhoogt het verkeer naar een cluster om de prestaties te testen.Belastingafschakeling:Het wijst capaciteit toe voor elk type verzoek en verwijdert een verzoek dat de limiet overschrijdt.Afhandeling van statische reacties:Het bouwt een aantal reacties direct aan de rand op in plaats van ze door te sturen naar een intern cluster.Veerkracht in meerdere regio's:Het stuurt verzoeken door AWS-regio's om ons ELB-gebruik te diversifiëren.

Zuul-componenten

Zuul 2.x-componenten:

    Zuul-kern:Het is een bibliotheek die de kernfunctionaliteit van Zuul 2.0 bevat.zuul-voorbeeld:Het is een voorbeeldstuurprogrammatoepassing voor Zuul 2.0

Zuul 1.x-componenten:

    Zuul-kern:Het definieert de kernfunctionaliteit.zuul-eenvoudige-webapp:Een webapp die een eenvoudig voorbeeld laat zien van hoe je een applicatie bouwt met zuul-core.zuul-netflix:Het is een bibliotheek die andere NetflixOSS-componenten aan Zuul toevoegt.zuul-netflix-webapp:Het is een webapp die zuul-core en zuul-netflix samen verpakt.

Zuul API Gateway Server instellen

Er zijn drie stappen om de Zuul API Gateway in te stellen:

  • Maak een component voor de Zuul API Gateway
  • Bepaal de dingen die de Zuul API Gateway moet doen
  • Alle belangrijke verzoeken zijn geconfigureerd om via de Zuul API Gateway te passeren

Volg de stappen om de Zuul API Gateway-server in te stellen.

Stap 1: Open Lente initialisatie https://start.spring.io .

Stap 2: Lever de Groep naam. Wij hebben voorzien com.javatpoint.microservices.

Stap 3: Lever de Artefact. Wij hebben voorzien netflix-zuul-api-gateway-server.

Stap 4: Voeg de volgende afhankelijkheden toe: Zuul, Eureka Discovery, Actuator, En Ontwikkelaars.

Zuul API-gateway

Stap 5: Klik op de Genereer knop. Het begint het project in te pakken ritssluiting bestand en download het.

Zuul API-gateway

Stap 6: Uitpakken het zip-bestand en plak het in de werkruimte van de Spring Tool Suite.

Stap 7: Importeren het project in de STS IDE.

Bestand -> Importeren -> Bestaande Maven-projecten -> Bladeren -> Selecteren netflix-zuul-api-gateway-server -> Selecteer Map -> Voltooien

Het importeren duurt enige tijd.

Stap 8: Open de NetflixZuulApiGatewayServerApplication.java bestand en schakel zuul proxy en detectieclient in met behulp van de annotaties @EnableZuulProxy En @EnableDiscoveryClient, respectievelijk .

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); } } 

Stap 9: Open applicatie.eigenschappen bestand en configureer het applicatienaam, poort, En eureka naamgevingsserver .

applicatie.eigenschappen

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Klik hier om netflix-zuul-api-gateway-server te downloaden