Puerta de enlace de puerta de enlace unificada
1 El papel de la puerta de enlace
1. Realice la autenticación de identidad y la verificación de autoridad en las solicitudes de los usuarios.
2. Dirija las solicitudes de los usuarios a los microservicios e implemente el equilibrio de carga
3. Limite el flujo de solicitudes de los usuarios para evitar que los microservicios se bloqueen debido a una simultaneidad excesiva
2. Crear un servicio de puerta de enlace
Cree un nuevo módulo, importe las dependencias de SpringCloudGateway y las dependencias de descubrimiento del servicio nacos
Debido a que Gateway en sí también es un microservicio, debe registrarse en nacos y ser descubierto por nacos.
<!--nacos的服务发现依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- 网关依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
Escriba la configuración de enrutamiento y la dirección de nacos:
La configuración de enrutamiento incluye
1. ID de ruta: el identificador único de la ruta
2. Destino de enrutamiento: la dirección de destino de la ruta, lb significa equilibrio de carga según el nombre del servicio
3. Aserción de enrutamiento: juzgar las reglas de enrutamiento
4. Filtro de ruta: procesar la solicitud o respuesta
server:
port: 10010
spring:
application:
name: gateway #服务名称
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
gateway:
routes: #网关的路由配置
- id: user-service #路由id 可自定义但要保证唯一性
uri: lb://userservice #路由的目标地址
predicates: #判断请求是否符合路由规则的条件
- Path=/user/**
- id: order-service #路由id 可自定义但要保证唯一性
uri: lb://orderservice #路由的目标地址
predicates: #判断请求是否符合路由规则的条件
- Path=/order/**
Acceda a 10010/pedido/101 y obtenga datos con éxito, lo que indica que la ruta de la puerta de enlace es correcta