pom配置
<dependencies>
<!--gateway-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--Spring Cloud Alibaba-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
yml文件配置
server:
port: 8000
spring:
application:
name: gateway-server
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848/
gateway:
discovery:
locator:
enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由
routes:
- id: product-server #路由的ID,没有固定规则但要求唯一,建议配合服务名
uri: lb://product-server #匹配后提供服务的路由地址
predicates:
- Path=/product/** #断言,路径相匹配的进行路由
filters:
- StripPrefix=1 #去除第一个级前缀
- id: order-server
uri: lb://order-server
predicates:
- Path=/order/** #断言,路径相匹配的进行路由
filters:
- StripPrefix=1 #去除第一个级前缀