logo

Puerta de enlace API Zuul

¿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:

    Autenticación y Seguridad:Proporciona requisitos de autenticación para cada recurso.
    Información y seguimiento:Realiza un seguimiento de datos y estadísticas significativos que nos brindan una visión precisa de la producción.
    Enrutamiento dinámico:Enruta dinámicamente las solicitudes a diferentes clústeres respaldados según sea necesario.Pruebas de estrés:Aumenta el tráfico a un clúster para probar el rendimiento.Desconexión de carga:Asigna capacidad para cada tipo de solicitud y descarta una solicitud que supera el límite.Manejo de respuestas estáticas:Genera algunas respuestas directamente en el borde en lugar de reenviarlas a un clúster interno.Resiliencia multirregional:Enruta solicitudes a través de regiones de AWS para diversificar nuestro uso de ELB.

Componentes Zuul

Componentes de Zuul 2.x:

    núcleo zuul:Es una biblioteca que contiene la funcionalidad principal de Zuul 2.0.muestra-zuul:Es una aplicación de controlador de muestra para Zuul 2.0.

Componentes de Zuul 1.x:

    núcleo zuul:Define la funcionalidad principal.aplicación-web-simple-zuul:Una aplicación web que muestra un ejemplo sencillo de cómo construir una aplicación con zuul-core.zuul-netflix:Es una biblioteca que agrega otros componentes de NetflixOSS a Zuul.aplicación web zuul-netflix:Es una aplicación web que empaqueta zuul-core y zuul-netflix juntos.

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.

Puerta de enlace API Zuul

Paso 5: Clickea en el Generar botón. Comienza a empaquetar el proyecto en cremallera archivo y descargarlo.

Puerta de enlace API Zuul

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/eureka 
Haga clic aquí para descargar netflix-zuul-api-gateway-server