spring cloud gateway
admin
2024-03-27 11:57:08
0次

spring cloud gateway 功能:

  • 限流
  • 路径重写
  • 动态路由
  • 集成 spring cloud DiscoveryClient ,Hystrix

添加依赖:不能添加web的starter

 org.springframework.cloudspring-cloud-starter-gateway

基本用法两种:

  • 编码式
    @BeanRouteLocator routeLocator(RouteLocatorBuilder builder){return builder.routes()// route的名字.route("cc_route",r->r.path("/get").uri("http://httpbin.org")).build();}
  • yml配置
spring:application:# 服务名字name: gatewaycloud:gateway:routes:- id: cc_routeuri: http://httpbin.org/predicates:- Path=/get
server:port: 8080
eureka:client:service-url:# 注册地址defaultZone: http://localhost:1111/eureka
gateway服务化

注册到eureka上:

spring:application:# 服务名字name: gatewaycloud:gateway:#      routes:
#        - id: cc_route
#          uri: http://httpbin.org/
#          predicates:
#            - Path=/getdiscovery:locator:# 是否开启通过 注册中心 进行路由转发 的功能,,,,。。。。开启自动代理enabled: trueserver:port: 8080
eureka:client:service-url:# 注册地址defaultZone: http://localhost:1111/eurekalogging:level:com:cj:gateway: debug

开启自动代理
spring.cloud.gateway.discovery.locator.enabled=true

访问http://localhost:8080/PROVIDER/hello :主机地址+服务名字+接口 ,,provider注册到Eureka是大写

predicates设置

多种匹配方式可以组合使用

spring:application:# 服务名字name: gatewaycloud:gateway:routes:- id: cc_routeuri: http://httpbin.orgpredicates:# 在这个日期之后,, 才转发
#            - After=2021-12-08T21:00:00+08:00[Asia/Shanghai]# 在这个日期之前- Before=2023-12-08T21:00:00+08:00[Asia/Shanghai]# 两个日期之间,,用 逗号 分隔
#            - Between- Method=GET# 相当于 访问http://httpbin.org/get- Path=/get# 相当于 访问http://httpbin.org/hehe/占位符segment
#            - Path=/hehe/{segment}# 请求中  一定要有 name参数才会转发
#            - Query=name# 请求中 一定要有name参数,,并且value是以java开头- Query=name,java.*discovery:locator:# 是否开启通过 注册中心 进行路由转发 的功能,,,,。。。。开启自动代理enabled: true

routes规则可以有多个,,如果被多个匹配上,,首先会采用第一个的方式进行转发

spring cloud gateway 的Filter

分为两大类:

  • GatewayFilter : 应用到分组的路由上
  • GlobalFilter : 全局路由

使用AddRequestParameter 过滤器: 在请求转发路由的时候,,自动携带上参数

spring:application:# 服务名字name: gatewaycloud:gateway:routes:- id: cc_route# lb: load balance : 负载均衡,,,    这次访问直接 localhost:8080/hello2  ,,,所有的请求都会直接跳转到 lb://provideruri: lb://providerfilters:# 给 provider 的 接口添加参数 name,,值为value- AddRequestParameter=name,hehepredicates:# 在这个日期之后,, 才转发
#            - After=2021-12-08T21:00:00+08:00[Asia/Shanghai]# 在这个日期之前- Before=2023-12-08T21:00:00+08:00[Asia/Shanghai]# 两个日期之间,,用 逗号 分隔
#            - Between- Method=GETdiscovery:locator:# 是否开启通过 注册中心 进行路由转发 的功能,,,,。。。。开启自动代理enabled: true

相关内容

热门资讯

两只大牛股,紧急发声:不属实!... 5天3板超声电子:“超声电子高频板通过英伟达认证”情况不属实,目前无产品供货给英伟达9月13日晚间,...
科创板创新药企BD授权交易总额... 2026年半年度财报季已收官,在创新药企业以业绩扭亏和BD兑现吸引市场目光的同时,以CXO为代表的上...
蔚来李斌1-8月交付增近58%... 9月9日消息,上海蔚来汽车有限公司副总裁品牌与传播资深专家马麟在微博透露,9月8日下午,蔚来创始人、...
京东物流部署过万前置仓应对手机... IT之家 9 月 13 日消息,据京东物流黑板报,9 月,多个品牌旗舰手机集中上新。针对消费者希望尽...
特朗普让泽连斯基勿袭击俄柴油燃... 9月13日,当地时间9月13日,美国总统特朗普要求乌克兰总统泽连斯基停止袭击俄罗斯柴油燃料设施,称相...
下周,年内最便宜新股启动打新 ... 2026.09.13本文字数:1467,阅读时长大约2分钟作者 |第一财经 安卓封图 |AI生成下周...
北京:激活地理信息要素赋能城市... 9月13日,从北京市规划和自然资源委员会获悉,《北京市测绘地理信息条例》已由北京市第十六届人民代表大...
接下来该如何逃顶?建议看看这篇... 最近这段时间,很多朋友的心里其实都是悬着的。行情走到这个位置,大家见面聊得最多的就是,接下来到底该怎...
武汉:到2035年武汉区域科技... 9月13日,武汉市委十四届十三次全会召开,审议通过了《关于打造具有全球竞争力的开放创新生态 高水平建...
卡塔尔股市收盘上涨0.25% 9月13日,卡塔尔证券交易所主要股指今日收盘上涨0.25%,报9848.95点,上涨24.46点。全...