logo

Gateway API Zuul

Cos'è Zuul?

Zuul Server è un'applicazione API Gateway. Gestisce tutte le richieste ed esegue il routing dinamico delle applicazioni di microservizi. Funziona come una porta d'ingresso per tutte le richieste. È anche noto come Server perimetrale.

Zuul è progettato per abilitare routing dinamico, monitoraggio, resilienza, E sicurezza. Può anche instradare le richieste a più Gruppi Amazon Auto Scaling .

Per esempio, /api/prodotti sono mappati su Prodotto servizio e /api/utente è mappato su utente servizio. Il Server Zuul instrada dinamicamente le richieste alla rispettiva applicazione backend.

Perché usiamo Zuul?

Il volume e la varietà del traffico dell'API Netflix a volte causano problemi di produzione che si verificano rapidamente e senza preavviso. Quindi abbiamo bisogno di un sistema che ci permetta di cambiare rapidamente comportamento per reagire a queste situazioni.

Zuul offre una gamma di diversi tipi di filtri che ci consente di applicare rapidamente e agilmente funzionalità al nostro servizio edge. I filtri svolgono le seguenti funzioni:

    Autenticazione e sicurezza:Fornisce i requisiti di autenticazione per ciascuna risorsa.
    Approfondimenti e monitoraggio:Tiene traccia di dati e statistiche significativi che ci forniscono una visione accurata della produzione.
    Routing dinamico:Instrada dinamicamente le richieste a diversi cluster supportati in base alle esigenze.Prove di stress:Aumenta il traffico verso un cluster per testare le prestazioni.Eliminazione del carico:Assegna capacità per ciascun tipo di richiesta ed elimina una richiesta che supera il limite.Gestione della risposta statica:Costruisce alcune risposte direttamente sul perimetro invece di inoltrarle a un cluster interno.Resilienza multiregione:Instrada le richieste attraverso le regioni AWS per diversificare il nostro utilizzo di ELB.

Componenti Zuul

Componenti di Zuul 2.x:

    zuul-core:È una libreria che contiene le funzionalità principali di Zuul 2.0.zuul-campione:Si tratta di un'applicazione driver di esempio per Zuul 2.0

Componenti di Zuul 1.x:

    zuul-core:Definisce la funzionalità principale.zuul-semplice-webapp:Un'app Web che mostra un semplice esempio di come creare un'applicazione con zuul-core.zuul-netflix:È una libreria che aggiunge altri componenti NetflixOSS a Zuul.zuul-netflix-webapp:È una webapp che racchiude insieme zuul-core e zuul-netflix.

Configurazione del server API Gateway Zuul

Ci sono tre passaggi per configurare il gateway API Zuul:

  • Crea un componente per il gateway API Zuul
  • Decidi le cose che dovrebbe fare il Gateway API Zuul
  • Tutte le richieste importanti sono configurate per passare attraverso lo Zuul API Gateway

Segui i passaggi per configurare il server Zuul API Gateway.

Passo 1: Aprire Inizializzazione primavera https://start.spring.io .

Passo 2: Fornire il Gruppo nome. Abbiamo fornito com.javatpoint.microservices.

Passaggio 3: Fornire il Artefatto. Abbiamo fornito netflix-zuul-api-gateway-server.

Passaggio 4: Aggiungi le seguenti dipendenze: Zuul, Eureka Discovery, Attuatore, E Strumenti di sviluppo.

Gateway API Zuul

Passaggio 5: Clicca sul creare pulsante. Inizia a inserire il progetto cerniera lampo file e scaricarlo.

Gateway API Zuul

Passaggio 6: estrazione il file zip e incollalo nell'area di lavoro di Spring Tool Suite.

Passaggio 7: importa il progetto nell'IDE STS.

File -> Importa -> Progetti Maven esistenti -> Sfoglia -> Seleziona netflix-zuul-api-gateway-server -> Seleziona cartella -> Fine

L'importazione richiede del tempo.

Passaggio 8: Apri il NetflixZuulApiGatewayServerApplication.java file e abilitare il proxy zuul e il discovery client utilizzando le annotazioni @EnableZuulProxy E @EnableDiscoveryClient, rispettivamente .

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

Passaggio 9: Aprire proprietà.applicazione file e configurare il file nome dell'applicazione, porta, E server dei nomi eureka .

proprietà.applicazione

 spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eureka 
Clicca qui per scaricare netflix-zuul-api-gateway-server