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

简介: SpringCloud中的网关组件,最先开发出供开发人员使用的,是Zuul,而在其组件之后,Spring官方基于Spring2.0、SpringBoot2.0、Project Reactor等技术开发出来了新的替代品,那就是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网关了,非常重要的知识点,希望能更好的分享给大家。



目录
相关文章
|
3月前
|
安全 Java 开发者
强大!Spring Cloud Gateway新特性及高级开发技巧
在微服务架构日益盛行的今天,网关作为微服务架构中的关键组件,承担着路由、安全、监控、限流等多重职责。Spring Cloud Gateway作为新一代的微服务网关,凭借其基于Spring Framework 5、Project Reactor和Spring Boot 2.0的强大技术栈,正逐步成为业界的主流选择。本文将深入探讨Spring Cloud Gateway的新特性及高级开发技巧,助力开发者更好地掌握这一强大的网关工具。
273 6
|
4月前
|
SQL 存储 OLAP
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
OneSQL OLAP实践问题之Flink SQL Gateway的功能如何解决
42 1
|
JSON Cloud Native Java
通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能
本文将和大家一同回顾 Spring Cloud Gateway 是如何满足 HTTP 请求/响应转换需求场景的,并为大家介绍在这种场景下使用 Higress 云原生网关的解决方案,同时还对比了两者的性能差异。
69156 263
|
7月前
|
Linux
jetbrains-gateway远端开发
jetbrains-gateway远端开发
140 1
|
JSON Cloud Native Java
通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能
通过 Higress Wasm 插件 3 倍性能实现 Spring-cloud-gateway 功能
|
7月前
|
Linux
jetbrains-gateway远端开发
jetbrains-gateway远端开发
142 0
|
监控 Java API
基于Spring-Cloud-Gateway开发API网关的思路
基于Spring-Cloud-Gateway开发API网关的思路
212 0
|
Java Spring 容器
Spring Cloud Gateway开发实战
Spring Cloud Gateway开发实战
237 0
|
监控 安全 Java
【SpringCloud技术专题】「Gateway网关系列」微服务网关服务的Gateway全流程开发实践指南(2.2.X)
【SpringCloud技术专题】「Gateway网关系列」微服务网关服务的Gateway全流程开发实践指南(2.2.X)
446 0
【SpringCloud技术专题】「Gateway网关系列」微服务网关服务的Gateway全流程开发实践指南(2.2.X)
|
开发框架 前端开发 Java
SpringCloud微服务实战——搭建企业级开发框架(十九):Gateway使用knife4j聚合微服务文档
本章介绍Spring Cloud Gateway网关如何集成knife4j,通过网关聚合所有的Swagger微服务文档 1、gitegg-gateway中引入knife4j依赖,如果没有后端代码编写的话,仅仅引入一个swagger的前端ui模块就可以了
1150 57
SpringCloud微服务实战——搭建企业级开发框架(十九):Gateway使用knife4j聚合微服务文档