第一部分:Spring Cloud Gateway - 简介

126 阅读3分钟

阅读时间: 2 分钟

微服务中的交叉需求,如认证、授权、负载平衡、速率限制等也需要实现。但问题是它需要在哪里实现。在这里,没有猜测的价格,它应该是彻底的API网关或边缘服务器。Spring Cloud Gateway "是 "Netflix Zuul "的继承者,在满足此类需求方面相当不错。

Spring Cloud Gateway的第一层好处是,它是一个非阻塞的API。那么,它到底是什么意思呢?非阻塞式API是以异步方式处理请求。在这里,总是有一个线程可以用来处理请求。所有的请求都是通过多个线程在后台异步处理的。

与Spring Cloud兼容的Zuul 1是一个阻塞式API,而Zuul 2是一个非阻塞式方法,但Zuul 2与Spring Cloud不兼容。

Spring Cloud Gateway有三个构建模块。

1.路线

最简单的方法是将传入的请求路由到正确的目的地的机制。这种路由的重要参数是,目的地的URI和需要满足的条件。因此,从技术上讲,一个路由由以下部分组成。

  1. ID,它是路由的唯一标识。这可以是你选择的任何文本。
  2. 目的地URI,它是一个微服务的URI,我们要转发这个请求。
  3. 谓词/过滤器集合,这里,谓词是访问微服务所需的条件。过滤器是一种允许修改微服务的请求或响应的层。

2.谓词

如上所述,谓词是一组标准,并遵循函数式编程,即人们可以考虑用lambda表达式来实现功能。谓词可以作为决策者,决定哪个服务将被调用。谓词将帮助你根据URI模式转移到微服务。人们可以根据头文件、cookies或参数来控制微服务的路线。

3.过滤器

Spring Cloud Gateway的过滤器允许对微服务的请求和响应进行操作。

过滤器主要有两种类型

1) _预_过滤器,这些过滤器是在客户端和服务之间实现的,这意味着在客户端发送请求之后和服务被调用之前。所以,这些过滤器是针对来自客户端的传入请求。

2) _后置_过滤器,这些过滤器是在客户端和服务之间实现的,也就是在客户端发出请求之后,服务被调用之前。所以,这些过滤器是针对从微服务中流出的过滤器。

过滤器可以通过在属性文件中的定义来实现,也可以通过代码实现,选择将根据时间需要而定。

对Spring Cloud Gateway的介绍就到此为止。我们需要深入了解一下Spring Cloud这个库的能力。请耐心等待,本文的第二部分 正在进行中.....。

分享Knol。

相关信息