Gateway简单配置使用(一步到位)
gateway是一个分布式网关组件,其具有路由、断言、过滤等功能。也可集成其他组件来增强网关。我是在以Nacos为注册中心和配置中心的基础上进行的。Nacos的简单配置使用(一步到位)_wuyingle1的博客-CSDN博客然后导入依赖<--网关依赖,导入该依赖后不需要再导入spring的web依赖<dependency><groupId>org.springfram
gateway是一个分布式网关组件,其具有路由、断言、过滤等功能。也可集成其他组件来增强网关。
我是在以Nacos为注册中心和配置中心的基础上进行的。
Nacos的简单配置使用(一步到位)_wuyingle1的博客-CSDN博客
然后导入依赖
<--网关依赖,导入该依赖后不需要再导入spring的web依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
在配置中心创建配置,当然不在配置中心写配置在项目的配置文件里也行,只不过你每改一次配置都要重启一次。
配置
spring:
cloud:
gateway:
routes:
- id: host_route1
uri: http://127.0.0.1:8081
order: 1
predicates:
- Path=/user/get
- Weight=DEFAULT_GROUP, 10
- id: host_route2
uri: http://127.0.0.1:8082
order: 2
predicates:
- Path=/user/post
- Weight=DEFAULT_GROUP, 90
filters:
- SetStatus=401
routes路由组:下面可分配多个路由地址,代码中我分配了两个路由
路由:由路由id、uri、order、predicates等组成
id:随意,但是要唯一
uri:你要路由到的服务地址
order:顺序优先级,当两个地址相同时,是从小到大匹配的所以会匹配1
predicates:断言
- Path=/*:匹配的路径
- Weight=:请求权重分配,当路径相同时可根据不同权重来分配请求地址 ,例子中的意思是给分组DEFAULT_GROUP的url:http://127.0.0.1:8081/user/get分配10%权重,给分组DEFAULT_GROUP的url:http://127.0.0.1:8082/user/get分配90%权重,也就是路由到第一个的概率为10%,第二个的概率为90%。
filters过滤:
- PrefixPath=/wyl:地址路径前添加一层路径,例:/wyl/user/post
- RedirectTo=302, http://127.0.0.1:8081/user/get:重定向地址,返回状态302
- SetPath=/wyl/{path}:通过模板设置路径,与PrefixPath类似,设置一个路径模板如/user/post映射到{path}上路径就是/wyl/user/post
- RewritePath=/user/post,/user/get:将/user/post路径改写成/user/get
- SetStatus=401:设置返回状态
还有更多的过滤方式可浏览官方文档
更多推荐
所有评论(0)