Spring Cloud Alibaba 之 GateWay网关入门 二

本文介绍了Spring Cloud Gateway的工作流程,重点讲解了路由、断言和过滤器的核心概念。在搭建过程中强调了删除spring-boot-starter-web依赖以避免冲突,并通过测试验证了网关的路由转发功能。最后提到了配置详解,包括路由ID、URI、断言和过滤器的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


GateWay工作流程+GateWay搭建

核心流程图如下:

在这里插入图片描述

核心概念:

1)客户端向Spring Cloud Gateway发出请求。

2)如果Gateway Handler Mapping确定请求与路由匹配,则将其发送到Gateway Web Handler 处理程序。

3)Handler通过指定的过滤器链将请求发送到我们实际的服务执行业务逻辑,然后返回。

4)过滤器由虚线分隔的原因是,过滤器可以在发送代理请求之前或之后执行逻辑。

核心:路由转发 + 过滤器链

过滤器作用:

  • Filter在pre类型的过滤器可以做参数效验、权限效验、流量监控、日志输出、协议转换等。
  • Filter在post类型的过滤器可以做响应内容、响应头的修改、日志输出、流量监控等
  • 这两种类型的过滤器有着非常重要的作用

在GateWay的内部有三个核心点,我们先来看一下:

一、核心点

  • Route(路由)

    路由是构建网关的基础模块,它由ID,目标URI,包括一些列的断言和过滤器组成,如果断言为true则匹配该路由

  • Predicate(断言)

    参考的是Java8的java.util.function.Predicate,开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),请求与断言匹配则进行路由

  • Filter(过滤)

    指的是Spring框架中GateWayFilter的实例,使用过滤器,可以在请求被路由前或者之后对请求进行修改。

  • 三个核心点连起来:

    当用户发出请求到达GateWay,GateWay会通过一些匹配条件,定位到真正的服务节点,并在这个转发过程前后,进行一些及细化控制。其中Predicate就是我们匹配的条件,而Filter可以理解为一个拦截器,有了这两个点,再加上目标URI,就可以实现一个具体的路由了。

二、总结

GateWay核心的流程就是:路由转发+执行过滤器链

三、GateWay搭建

那么我们现在已经了解了整体的基础概念以后,我们现在来搭建一个GateWay项目:cloudalibaba-gateway-9999

在这里插入图片描述

因为GateWay属于SpringCloud的,所以我们要导入对应依赖,一定要注意版本关系:

版本对应地址:https://spring.io/projects/spring-cloud

老师这里使用的是SpringBoot2.2.6的版本所以配合的是SpringCloud的Hoxton.SR5版本

注意:引入GateWay一定要删除spring-boot-starter-web依赖,否则会有冲突无法启动
在这里插入图片描述

父级项目引入

<!--spring cloud Hoxton.SR5-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值