Prefacio
En nuestro blog anterior, cuando el servicio A necesita llamar al servicio B, solo necesita obtener la instancia registrada del Servicio B de Eureka, y luego usar Feign para llamar al servicio de B y usar la cinta para lograr el equilibrio de carga. Sin embargo, cuando exponemos múltiples servicios al cliente al mismo tiempo, cómo el cliente llama al servicio que expusimos. Si también queremos agregar autenticación de seguridad, control de permisos, filtros y enrutamiento dinámico y otras características, entonces necesitamos usar Zuul para implementar API Gateway. Echemos un vistazo a cómo usar Zuul.
1. Unir la dependencia de Zuul
<Spendency> <MoupRoMID> org.springframework.cloud </groupid> <artifactid> spring-ncloud-starter-zuul </artifactid> </pendency> <pendency> <grupoD> org.springframework.cloud </groupId> <artifactid> spring-cloud-starter-eureka </artifactid> </dependency>
Dado que necesitamos registrar el servicio Zuul a Eureka Server y descubrir el servicio registrado desde el servidor Eureka, agregamos las dependencias de Eureka aquí.
2. Habilite el soporte de Zuul en la clase de aplicación principal de la aplicación
@SpringBootApplication @enablezuulproxy // use @enablezuulproxy para habilitar el soporte de Zuul. Si no desea utilizar las funciones de filtro y proxy inverso proporcionadas por Zuul, puede usar @enableZuulserver para anotar la clase pública Zuulapplication {public static void main (string [] args) {springapplication.run (zuulapplication.class, args); }} 3. Agregue la información de configuración básica de Zuul en Application.yml
Primavera: Aplicación: Nombre: Gateway-Zuul # Nombre de la aplicación Servidor: Puerto: 8768 Número de puerto del servidor #zuul Eureka: Cliente: Servicio-URL: Defaultzone: http: // localhost: 8761/eureka Instancia: prefer-ip-liddress: true
4. Agregar configuración de enrutamiento de servicio en Application.yml
Prerrequisito: se han registrado dos servicios en el servidor Eureka, a saber: SpringBoot-H2-Service y Springboot-Rest-Rest-Plate-Feign. El servicio Springboot-Rest-Template-Feign llamará al servicio SpringBoot-H2-Service, y el servicio SpringBoot-Rest-Template-Feign es un servicio que brindamos al mundo exterior. Es decir, el servicio Springboot-Rest-Rest-Plate-Feign es algo que expusimos al cliente.
#Routing Configuración Método 1 #Zuul: #Rutas: #SpringBoot-Rest-Template-Feign: /Templateservice /** #All Solicitudes para SpringBoot-Rest-Template-Feign se interceptará y reenviará a TemplatesService #Método de configuración de enrutamiento 2zuul: Rutas: Rutas: API-Contrato: #donde API-CONTRAT to correspond to path one by one: /templateservice/** service-id: springboot-rest-template-feign # springboot-rest-template-feign is the service name ribbon registered on Eureka: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule # Configure server load balancing policy
V. Verificación
Ahora podemos verificarlo. Ingrese: http: // localhost: 8768/plantateservice/plantplate/1 en el navegador para ver los resultados de la prueba.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.