网关知识点

一、网关简介

        网关是系统唯一对外的入口,介于客户端和服务端之间,用于对请求进行鉴权,限流,路由,监控等功能。

二、gateway简介

        这个项目提供了一个建立在Spring生态系统之上的Api网关,包括:spring6,springboot3,和project Reactor。SpringCloud Gateway 旨在提供一种简单有效的方法来路由到Api,并且为他们提供跨领域的关注点,例如:安全性,监控/度量和弹性。

三、Reactor

        Reactor是一种完全基于Reactive Stream规范的,全新的库。

        (1)响应式编程

                响应式编程,Reactive Programming,是一种新的编程范式,编程思想。

                响应式编程最早是由.net平台上的Reactive eXtensions(Rx)库来实现的。后来迁移到java平台,产生了著名的RxJava。再次基础上,有产生了Reactive Stream规范。

        (2)Reactive Stream

                        Reactive Stream 是响应式编程规范,定义了响应式编程的相关接口。只要符合该规范库,就称为Reactive相应编程库。

       (3)RxJava2

                        RxJava2是一种响应式编程库,产生于Reactive Stream规范之后。但由于其是在RxJava基础上进行开发的,所以在设计时不仅遵循了Reactive Stream规范,同时也为了兼容RxJava,使得RxJava在使用是不方便。

       (4)Reactor

                        Reactor是一种全新的响应式编程库,完全遵循Reactive Stream规范,又与RxJava没有任何关系,所以,使用时非常方便直观。

四、Zuul

        Zuul是Netflix的开源API网关。Zuul是基于Servlet的,使用同步阻塞IO模型,不支持长连接。Zuul是SpringCloud生态中的一员。

        Zuul2.x使用Netty实现了异步非阻塞IO,支持长连接,但其为整合到SpringCloud。

五、重要概念

        在SpringCloudGateway中有三个重要概念。

(1)route路由

        路由是网关的基本组成,由一个路由id,一个目标地址url,一组断言工厂及一组filter组成。如断言为true,则请求将路径有filter被路由到目标url。

(2)predicate断言

        断言即是一个条件判断,根据当前的http请求进行指定规则匹配,比如说http请求头请求等待时间等。只有匹配上规则时,断言才为true,此时才会被转发到目标地址,或先路由到某过滤器链,经过过滤器链的层层处理之后,再路由到相应的目标地址。

(3)filter过滤器

        对请求进行逻辑处理的部分。当请求断言为true时,会被路由到设置好的路由过滤器,以对请求或者相应做处理。例如,可以为请求添加一个参数,或者对url进行修改,或者为响应式添加到header等。总之,就是对请求或者相应进行处理。

六、使用

        1.导入依赖

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

        注意:导入后要移除pring-boot-starter-web依赖,否则启动报错

        2.配置文件

server:
  port: 9000
spring:
  cloud:
    gateway:
      routes: # 路由配置
        - id: my_route
          uri: https://baidu.com
          predicates:
            - Path=/**

        3.启动测试 

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值