Què és Zuul?
Zuul Server és una aplicació de passarel·la API. Gestiona totes les sol·licituds i realitza l'encaminament dinàmic de les aplicacions de microservei. Funciona com a porta d'entrada per a totes les peticions. També es coneix com Servidor Edge.
Zuul està creat per habilitar encaminament dinàmic, supervisió, resiliència, i seguretat. També pot dirigir les sol·licituds a múltiples Grups d'Amazon Auto Scaling .
Per exemple, /api/products estan mapejats a producte servei i /api/usuari està assignat a usuari servei. El servidor Zuul encamina dinàmicament les sol·licituds a l'aplicació backend corresponent.
Per què fem servir Zuul?
El volum i la varietat del trànsit de l'API de Netflix de vegades donen lloc a problemes de producció que sorgeixen ràpidament i sense previ avís. Per tant, necessitem un sistema que ens permeti canviar ràpidament el comportament per reaccionar davant aquestes situacions.
Zuul ofereix una varietat de diferents tipus de filtres que ens permet aplicar de manera ràpida i àgil la funcionalitat al nostre servei de punta. Els filtres fan les funcions següents:
Components Zuul
Components Zuul 2.x:
Components Zuul 1.x:
Configuració del servidor Zuul API Gateway
N'hi ha tres passos per configurar el Zuul API Gateway:
- Creeu un component per a Zuul API Gateway
- Decidiu les coses que hauria de fer Zuul API Gateway
- Totes les sol·licituds importants estan configurades per passar per la passarel·la de l'API Zuul
Seguiu els passos per configurar el servidor Zuul API Gateway.
Pas 1: Obert Inicialització de primavera https://start.spring.io .
Pas 2: Proporcioneu el Grup nom. Hem proporcionat com.javatpoint.microservices.
Pas 3: Proporcioneu el Artefacte. Hem proporcionat netflix-zuul-api-gateway-server.
Pas 4: Afegiu les dependències següents: Zuul, Eureka Discovery, actuador, i DevTools.
Pas 5: Feu clic a Generar botó. Comença a empaquetar el projecte cremallera fitxer i descarregar-lo.
Pas 6: Extracció el fitxer zip i enganxeu-lo a l'espai de treball de Spring Tool Suite.
Pas 7: importar el projecte a l'IDE STS.
Fitxer -> Importa -> Projectes Maven existents -> Navega -> Selecciona netflix-zuul-api-gateway-server -> Seleccioneu Carpeta -> Finalitza
Es necessita un temps per importar.
Pas 8: Obriu el NetflixZuulApiGatewayServerApplication.java fitxer i habiliteu el proxy zuul i el client de descobriment mitjançant les anotacions @EnableZuulProxy i @EnableDiscoveryClient, respectivament .
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); } }
Pas 9: Obert application.properties fitxer i configureu el fitxer nom de l'aplicació, port, i servidor de noms eureka .
application.properties
spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eurekaFeu clic aquí per descarregar netflix-zuul-api-gateway-server