SpringCloud Gateway路由组件怎么使用


这篇文章主要介绍“SpringCloudGatewa免费云主机域名y路由组件怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringCloudGateway路由组件怎么使用”文章能帮助大家解决问题。Gateway是SpringCloud Alibaba中的路由组件(前身是Zuul),作为浏览器端请求的统一入口。当项目采用微服务模式时,若包含了路由模块,浏览器端的请求都不会直接请求含有业务逻辑的各个业务模块,而是请求这个路由模块,然后再由它来转发到各个业务模块去。Gateway中的三个核心概念:路由、断言(Predicate)、过滤器。路由:由唯一id、目的url、断言和过滤组成断言:即路由规则,用来判断哪些请求符合规则,符合的请求进行转发过滤器:分为GatewayFilter和GlobalFilter,前者作用于单一路由,后者作用于所有路由。过滤器可以对请求或者返回进行处理,如增加请求头、删除请求头配置文件如下:spring:
cloud:
gateway:
# 网关路由配置
routes:
# 路由id,自定义,只要唯一即可
– id: user-service
# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
# 路由的目标地址 lb就是负载均衡,后面跟服务名称,要和nacos的注册中心结合
uri: lb://userservice
# 断言
predicates:
# 这个是按照路径匹配,只要以/user/开头就符合要求
– Path=/user/**
# 过滤器
filters:
# 添加请求头
– AddRequestHeader=sign, xn2001.com is eternal上面写到了根据路径匹配的断言,Gateway提供了十几种内置的断言:配置中的AddRequestHeader就是其中一种Gateway Filter,还有其余的内置的:全局过滤器,后面的示例给出具体用法这里新建2个模块,路由模块和用户模块用户模块,引入依赖spring-boot-starter-web、spring-cloud-starter-alibaba-nacos-discovery,bootstrap.yml配置端口号、nacos注册中心的地址,并提供接口:路由模块,引入依赖:bootstrap.yml的配置:server:
port: 8086
servlet:
context-path: /gatewayspring:
application:
name: gateway
profiles:
active: dev
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
discovery:
server-addr: 127.0.0.1:88482个模块都启动后,nacos的服务列表显示:nacos中新建名为gateway-dev.yml的配置,内容为:spring:
cloud:
gateway:
discovery:
locator:
# 通过服务名称转发,默认false
enabled: true
# 服务名称不用大写
lower-case-service-id: true
# routes:
# – id: user-service
# uri: lb://supplier
# predicates:
# – Path=/provider/**
# filters:
# – AddRequestHeader=sign, big JavaCoder此时,请求路径:http://localhost:8086/supplier/provider/user/sayHello注:supplier是服务名称,provider是模块访问路径(server.servlet.context-path)但这种配置不是很推荐把spring.cloud.gateway.discovery及子配置注释掉,把spring.cloud.gateway.routes及子配置取消注释,重启路由模块,这时访问路径:http://localhost:8086/provider/user/sayHello。注:这是访问的路径,经过gateway处理后,实际访问的是lb://supplier/provider/user/sayHello(见RouteToRequestUrlFilter的filter方法);provider是模块访问路径(server.servlet.context-path),如果用户模块没有设置的话,filters下添加- StripPrefix=1,这时访问路径不变,实际的访问路径是lb://supplier/user/sayHello。处理一切进入网关的请求和响应,并且也是可以编写代码自定义逻辑;在执行顺序上,GatewayFilter先执行,GlobalFilter后执行。关于“SpringCloudGateway路由组件怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注百云主机行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 怎么用Go判断元素是否在切片中

这篇文章主要介绍“怎么用Go判断元素是否在切片中”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用Go判断元素是否在切片中”文章能帮助大家解决问题。如何判断元素是否在切片中,Golang 并没有提供直接的库函数来判断…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/11 18:19
下一篇 05/11 19:13

相关推荐