Conceptos básicos y principios de funcionamiento de Spring Cloud Gateway: Parte 1
Cualquiera que haya usado Zuul sabe que el núcleo de una puerta de enlace deben ser filtros y cadenas de filtros (Filter Chain of Responsibility) también tiene los conceptos de enrutamiento y filtros. Los siguientes son varios conceptos importantes en Spring Cloud Gateway.
El flujo de procesamiento principal de Spring Cloud Gateway es el siguiente.
El cliente de la puerta de enlace inicia una solicitud a Spring Cloud Gateway. La solicitud es recibida primero por el mapeo del controlador de la puerta de enlace, que determina la ruta con la que coincide la solicitud. Luego, la solicitud se envía al controlador web de la puerta de enlace, que. pasa un específico La cadena de filtro de solicitudes envía la solicitud. Los controladores envían solicitudes a través de una cadena de filtrado de solicitudes específica.
La razón por la que las cadenas de filtros están separadas por líneas discontinuas es porque los filtros de filtro pueden realizar lógica antes o después de que se envíe la solicitud de proxy. Ejecute toda la lógica del filtro previo, luego envíe la solicitud al servicio proxy, después de lo cual se ejecuta la lógica del filtro posterior.
Agregue las siguientes dependencias en el archivo pom.xml de su proyecto Spring Cloud.
Spring Cloud Gateway proporciona un ejecutor de puerta de enlace, un EndPoint que proporciona consultas de información sobre filtros y rutas. Esto se puede configurar para que se active en application.yml.
Acceda al EndPoint de la puerta de enlace:
Puede ver la información de enrutamiento devuelta:
Hay dos métodos para configurar la ruta de la puerta de enlace de la nueva puerta de enlace:
p>
1. Personalice el RouteLocator a través de @Bean y configúrelo en la clase principal Aplicación.
2. Configurar en el archivo de configuración yml.
Ambos métodos pueden lograr un enrutamiento de puerta de enlace equivalente, pero normalmente el desarrollo de proyectos utilizará el método del archivo de configuración yml.
Enlaces relacionados:
https://cloud.spring.io/spring-cloud-gateway/spring-cloud-gateway.html