Puerta de enlace de microservicio Spring Cloud Zuul
Zuul es la puerta de entrada para todas las solicitudes desde dispositivos y sitios web al backend de la aplicación de streaming de Netflix, proporcionando asignaciones externas configurables de URL a servicio para servicios internos.
La puerta de enlace Zuul proporciona las siguientes funciones:
1. Enrutamiento y reenvío: recibe todas las solicitudes externas y las reenvía a los microservicios back-end
2. Filtro: Se pueden completar una serie de funciones multifuncionales en la puerta de enlace de servicio, como verificación de permisos, restricción y monitoreo de tráfico, etc. Todo esto se puede completar a través de filtros (de hecho, el reenvío de rutas también se completa a través de filtros).
El enrutamiento y reenvío también se implementan mediante filtros).
Dependencias que se introducirán en el proyecto del servidor Zuul
Si los terminales front-end y móviles quieren llamar al sistema back-end, ingresarán a través de la puerta de enlace de Zuul y la puerta de enlace Zuul reenviará la solicitud a los Servicios correspondientes
En la función principal de Spring Boot, puede usar la anotación @EnableZuulProxy para habilitar el enrutamiento de la puerta de enlace para reenviar solicitudes al servicio correspondiente. Por convención, el servicio con el ID "cliente" recibirá solicitudes proxy para la ruta de solicitud /cliente (sin el prefijo).
Zuul usa Ribbon para ubicar la instancia en el registro de servicios, todas las solicitudes se realizan en comandos hystrix, por lo que se mostrarán mensajes de falla en el panel de control de Hystrix y, una vez que se abra el disyuntor, las solicitudes de proxy no se intentará Enlace al servicio.
El siguiente es el diagrama de interacción de Eureka, Zuul y Ribbon: