(一)Gateway开发教程之主要功能介绍

SpringCloud中的网关组件


SpringCloud中的网关组件,最先开发出供开发人员使用的,是Zuul,而在其组件之后,Spring官方基于Spring2.0、SpringBoot2.0、Project Reactor等技术开发出来了新的替代品,那就是Gateway。


在Zuul组件的基础上,更精进了一些功能,接下来的系列文章,我们就要围绕着Gateway组件来分享一下开发经验了。


介绍一下Gateway组件


如果要介绍Gateway组件,要先从其特性开始说起。


Gateway大概具有以下几个特性(也可以去官网看一下英文文档):

  • 基于 Spring Framework 5、Project Reactor 和 Spring Boot 2.0
  • 能够匹配任何请求属性的路由
  • 谓词和过滤器特定于路由
  • 断路器集成
  • Spring Cloud DiscoveryClient集成
  • 易于编写谓词和过滤器
  • 请求速率限制
  • 路径重写


为了避免总结的不够到位,这是我从官网上拿过来的,大家勿怪。在这之后,我们会针对这些特性,去体验一下在真正开发中的如何使用的。

微服务中的网关,是作为一个API架构,用于统一管理API,并且提供安全、路由控制、流量控制、隐藏内部具体实现的功能。


Gateway中的一些必备知识点


SpringCloud Gateway中,区分了路由(Router)和过滤器(Filter),而且内置了很规范的使用方法,下面我们会一一描述的。

这里说几个概念,分别是路由、断言、过滤器,由这三个概念开始,就可以基本进入Gateway了。


路由Router


属于网关的基本模块功能,用来声明API的不同转发规则。


断言Predicate


断言是用来匹配来自HTTP请求的任何内容,比如匹配header头部、cookie、url-path链接等等的信息,最终得到匹配的转发规则,此功能也是配合路由Router来使用的。


过滤器Filter


Gateway的过滤器,提供了两种类型的过滤器,分别是Gateway Filter和Global Filter,用于支持网关的基本功能实现。


Gateway可以集成哪些功能?


那么Gateway可以集成哪些功能呢?下面就来细数一下。

  1. 监控
  2. 日志收集统计
  3. 认证授权
  4. 服务熔断
  5. 服务降级
  6. 负载均衡


微服务架构,网关作为所有服务的入口,其本职功能就占了不少的分量,再加上可以集成众多组件功能,那么就更不用说了。


总结


今天我们就开始学习Gateway网关了,非常重要的知识点,希望能更好的分享给大家。



上一篇:细说一下RedisTemplate的使用方法(八)


下一篇:(四)Gateway开发教程之自定义网关过滤器