¿Qué es Zuul?
Zuul Server es una aplicación API Gateway. Maneja todas las solicitudes y realiza el enrutamiento dinámico de aplicaciones de microservicio. Funciona como puerta de entrada para todas las solicitudes. También se le conoce como Servidor perimetral.
Zuul está diseñado para permitir enrutamiento dinámico, monitoreo, resiliencia, y seguridad. También puede enrutar las solicitudes a múltiples Grupos de Amazon Auto Scaling .
Por ejemplo, /api/productos están mapeados a la producto servicio y /api/usuario está mapeado al usuario servicio. El servidor Zuul enruta dinámicamente las solicitudes a la aplicación backend respectiva.
¿Por qué utilizamos Zuul?
El volumen y la variedad del tráfico API de Netflix a veces resultan en problemas de producción que surgen rápidamente y sin previo aviso. Por eso necesitamos un sistema que nos permita cambiar rápidamente el comportamiento para reaccionar ante estas situaciones.
Zuul ofrece una gama de diferentes tipos de filtros que nos permite aplicar funcionalidad de forma rápida y ágil a nuestro servicio de borde. Los filtros realizan las siguientes funciones:
Componentes Zuul
Componentes de Zuul 2.x:
Componentes de Zuul 1.x:
Configuración del servidor de puerta de enlace API de Zuul
Hay tres Pasos para configurar Zuul API Gateway:
- Cree un componente para Zuul API Gateway
- Decida las cosas que debe hacer Zuul API Gateway
- Todas las solicitudes importantes están configuradas para pasar a través de Zuul API Gateway.
Siga los pasos para configurar el servidor Zuul API Gateway.
Paso 1: Abierto Inicialización de primavera https://start.spring.io .
Paso 2: Proporcionar la Grupo nombre. Hemos proporcionado com.javatpoint.microservicios.
Paso 3: Proporcionar la Artefacto. Hemos proporcionado servidor-gateway-api-netflix-zuul.
Etapa 4: Agregue las siguientes dependencias: Zuul, Eureka Discovery, Actuador, y Herramientas de desarrollo.
Paso 5: Clickea en el Generar botón. Comienza a empaquetar el proyecto en cremallera archivo y descargarlo.
Paso 6: extraer el archivo zip y péguelo en el espacio de trabajo de Spring Tool Suite.
Paso 7: Importar el proyecto en el IDE de STS.
Archivo -> Importar -> Proyectos Maven existentes -> Examinar -> Seleccionar servidor-gateway-api-netflix-zuul -> Seleccionar carpeta -> Finalizar
La importación lleva algún tiempo.
Paso 8: Abre el NetflixZuulApiGatewayServerApplication.java archive y habilite el proxy zuul y el cliente de descubrimiento mediante el uso de las anotaciones @EnableZuulProxy y @EnableDiscoveryClient, respectivamente .
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); } }
Paso 9: Abierto application.properties archivar y configurar el nombre de la aplicación, puerto, y servidor de nombres eureka .
application.properties
spring.application.name=netflix-zuul-api-gateway-server server.port=8765 eureka.client.service-url.default-zone=http://localhost:8765/eurekaHaga clic aquí para descargar netflix-zuul-api-gateway-server