【SpringCloud之Gateway】学习笔记


Spring Cloud Gateway 新一代网关

一.简介

Gateway是在Spring生态系统上构建的API网关服务,基于Spring5,Spring Boot,Project Reactor等技术。
Gateway旨在提供一种简单有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等……

Spring Cloud Gateway目标是为了替换zuul,为了提升网关性能,Spring Cloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层是使用了高性能的Reactor模式通信框架Netty。

能干什么:反向代理、鉴权、流量控制、熔断、日志监控……

Gateway是基于异步非阻塞模型上进行开发的。

特性:
1.动态路由:能够匹配任何请求属性
2.可以对路由指定Predicate(断言)和Filter(过滤器)、
3.集成SpringCloud服务发现功能
4.集成Hystrix的断路器功能
5.易于编写的Predicate和Filter
6.请求限流功能
7.支持路径重写

二.三大核心概念

1.Route(路由)
路由是构建网关的基本模块,它由ID、目标URI、一系列的断言和过滤器组成,如果断言为true则匹配该路由

2.Predicate(断言)
开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由

3.Filter(过滤)
指的是Spring框架中的GatewayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改。

三.操作

①导入依赖


<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>

记得移除spring-boot-starter-web依赖

②yml配置


server: 
  port: 9527

spring: 
  application: 
    name: cloud-gateway
  cloud: 
    gateway: 
        routes:
            -id: payment_routh
             uri: http://localhost:8001
             predicates: 
               - Path=/payment/get/**

            -id: payment_routh2
             uri: http://localhost:8001
             predicates: 
               - Path=/payment/lb/**

 

(由于博主没电脑,这个yml格式不一定准确,大家看着改,见谅)

 

浏览器输入 localhost:9527/payment/lb/1查看结果

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九洲带鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值