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

相关内容

热门资讯

北方华创,巨额商誉压力突然高悬... 文丨詹詹编辑丨百进来源丨新商悟(本文约为 1300字)当国内半导体设备龙头北方华创交出一份“营收创历...
长城华西银行原女掌门已回老东家... 湘财Plus注意到,四川银行入主长城华西银行后,该行核心管理人员调整基本落定,法定代表人已正式变更为...
立案,跌停!这家“童年记忆”,... 沉浮多年,方向何在?最近被立案的上市公司,着实有些多,就在上周末,又有一家上市公司及原董事长被立案调...
加码生态环境监测!生态环境部:... 本文来源:时代周报 作者:李杭4月27日,生态环境部举行4月例行新闻发布会。 生态环境部4月例行新...
东方甄选主播“离职潮”持续发酵... 红星资本局4月27日消息,东方甄选(01797.HK)主播“离职潮”事件仍在发酵。在社交平台上,有部...
SpaceX万亿IPO前夜:马... 从20亿美元收购,到万亿IPO前的最后叙事。2026年4月23日深夜,特斯拉向SEC提交了一份季报文...
前董事长陆宏达“闪电辞职”牵扯... 紧急澄清前董事长性侵指控后,智度股份仍难挡股价大跌。4月27日,智度股份早盘一度重挫逾9%,逼近6....
高盛:一场全球性化工危机正在爆... 霍尔木兹海峡通行受阻,正在引发一场史无前例的全球化工供应冲击。高盛最新报告表示,基础化工品价格近几周...
这笔400亿,谷歌买的不是友谊... 4月25日,Anthropic宣布谷歌将向其投资最高400亿美元——先期注入100亿美元现金,估值3...
粪坑,爬出来了 粪坑,爬出来了... 图:Simon Bailly 读者说:“有人发现吗?2019年蚂蚁的大热基金鹏华快回本了,当年最高回...