<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-gatewayartifactId>
dependency>
<dependency>
<groupId>com.alibaba.cloudgroupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>
server:
port: 10010 #网关端口
spring:
application:
name: server #服务名称
cloud:
nacos:
discovery:
server-addr: localhost:8848 #将网关注册到naocs中心
cloud:
gateway:
routes:
- id: service-route # 路由ID
uri: http://backend-service # 后端服务地址
predicates:
- Path=/api/** # 请求路径匹配规则
3.编写启动类启用网关:
@SpringBootApplication
@EnableDiscoveryClient
public class GatewayApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayApplication.class, args);
}
}
Spring Cloud Gateway是Spring Cloud中的一个组件,它作为微服务的统一入口,主要作用包括:
Spring Cloud Gateway还支持多种编程范式,例如阻塞式编程和响应式编程。在Spring Cloud生态中,Zuul网关和Spring Cloud Gateway可以共存,前者更适用于阻塞式编程,而后者则是基于Spring5中提供的WebFlux,更适合于响应式编程。