SpringCloud--gateway路由配置
第一步: 依赖
1 <dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-gateway</artifactId> 4 </dependency> 5 <dependency> 6 <groupId>org.springframework.cloud</groupId> 7 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 8 </dependency>
第二步: 启动类
- 将网关服务注册到注册中心
1 @SpringBootApplication 2 @EnableDiscoveryClient 3 public class GateWayApplication { 4 5 public static void main(String[] args) { 6 SpringApplication.run(GateWayApplication.class,args); 7 } 8 }
第三步: 基础配置文件
1 1 server: 2 2 port: 9999 3 3 spring: 4 4 application: 5 5 name: gateway 6 6 # 如果的使用动态路由 网关本身必须要连接到Eureka上面 7 7 eureka: 8 8 client: 9 9 service-url: 10 10 # eureka 服务地址,如果是集群的话;需要指定其它集群eureka地址 11 11 defaultZone: http://127.0.0.1:10086/eureka 12 12 # 是否注册到服务端 13 13 register-with-eureka: true 14 14 # 是否拉取服务列表 15 15 fetch-registry: true 16 16 instance: 17 17 ip-address: 127.0.0.1 # 服务的ip地址 18 18 prefer-ip-address: true # 启用ip地址访问
第四步: 配置路由到配置文件
- 第一种: 静态路由
1 server: 2 port: 9999 3 spring: 4 application: 5 name: gateway 6 cloud: 7 gateway: 8 routes: 9 # 路由id,可以随意写 10 - id: user-service-route 11 # 代理的服务地址 12 uri: http://127.0.0.1:8082 13 # 路由断言,可以配置映射路径 14 predicates: 15 - Path=/user/**
- 第二种: 动态路由(更好)
-
1 server: 2 port: 9999 3 spring: 4 application: 5 name: gateway 6 cloud: 7 gateway: 8 routes: 9 # 路由id,可以随意写 10 - id: user-service-route 11 # 代理的服务地址 12 # lb: 自动实现负载均衡 13 # user-server为要访问的服务名 14 uri: lb://user-server 15 # 路由断言,可以配置映射路径 16 predicates: 17 - Path=/user/**