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

这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

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网关了,非常重要的知识点,希望能更好的分享给大家。

猜你喜欢

转载自juejin.im/post/7032960862029611022