Gateway API Zuul

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