Spring Cloud proporciona un componente para crear puertas de enlace API sobre Spring WebFlux. Spring Cloud Gateway proporciona una manera fácil y eficiente de enrutar a las API y brindarles preocupaciones transversales como: seguridad, monitoreo/métricas y resiliencia.
Agregar dependencia de Maven
<!-- Springcloud Gateway 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!-- Springcloud Nacos 注册中心依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- Springcloud 本地负载均衡依赖,通过注册中心获取服务,需要加入此依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
Configurar puerta de enlace
Documentación detallada de la afirmación: https://docs.spring.io/spring-cloud-gateway/docs/current/reference/html/#gateway-request-predicates-factories
Documentación detallada del filtro: https://docs.spring.io / spring-cloud-gateway/docs/current/reference/html/#gatewayfilter-factories
server:
port: 8087
spring:
application:
name: gateway-server
cloud:
nacos:
discovery:
server-addr: localhost:8848
group: DEFAULT_GROUP
namespace: public
username: nacos
password: nacos
gateway:
routes:
- id: user-route # 路由ID,唯一标识,自定义命名
uri: lb://gateway-user # 从注册中心获取服务
predicates:
# 路径断言工厂,符合 /user-server 前缀的请求都会被转发
- Path=/user-server/**
filters:
# 去除路径前缀
- StripPrefix=1
# gateway跨域配置
globalcors:
cors-configurations:
'[/**]':
allowed-origins:
- "*"
allowed-methods:
- GET
- POST
- PUT
- DELETE
allowed-headers:
- "*"
allowed-origin-patterns:
- "*"
max-age: 3600
# 设置全局超时时间
httpclient:
connect-timeout: 1000 # 连接超时时间
response-timeout: 5s # 响应超时时间
Acceso al servicio de la puerta de enlace: http://puerto IP de la puerta de enlace/servidor-usuario/sayhello Después de
configurar StripPrefix, se eliminará la ruta de primer nivel y la dirección de reenvío final de la puerta de enlace: http://puerto IP de la puerta de enlace/sayhello La
solicitud será reenviado al registro configurado en el servicio de pasarela-usuario del centro.