SpringCloud Gateway 入门

本文介绍了Spring Cloud Gateway作为微服务网关的角色,包括它的基本功能如路由、断言和过滤器。详细阐述了网关请求流程,并展示了如何搭建一个基本的Spring Cloud Gateway,包括配置路由、设置断路器以及实现降级方法。最后通过Hystrix断路器验证了网关的超时和降级机制。

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

什么是网关

所有的客户端都通过网关统一接入微服务,在网关层处理所有的非业务功能。API 网关还提供了一些更高级的功能,例如:身份验证、监控、负载均衡、缓存、多协议支持、限流、熔断等等。

网关请求流程

gateway官方文档链接
在这里插入图片描述

  1. 客户端向Spring Cloud Gateway发出请求。
  2. 如果 Gateway Handler Mapping 检测到请求与路由相匹配,则将其发送到 Gateway Web Handler 进行处理。
  3. Gateway Web Handler 处理程序会将请求发送到过滤器链(filter chain)中。
    Filter 有两条执行路径的原因,是因为这些filter可能在代理请求发送之前执行,这些过滤器称为“pre”过滤器,也会在代理请求发送之后执行,这些过滤器称为“post”过滤器。
基本知识点
  • 路由(Route):网关的基本功能组件,由一个唯一的ID,目标URI,断言集合和过滤器集合组成。

  • 断言(Predicate):Java8中的Predicate 接口,可以匹配HTTP请求中的任何数据,比如headers和parameters,如果某个路由中的所有的断言都返回true,说明匹配到了这个路由。

  • 过滤器(Filter):使用特定工厂构造的Spring Framework GatewayFilter的实例,在这里面可以拦截修改请求数据和响应数据。

搭建入门

1、pom 引入 spring-cloud-starter-gateway 依赖

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.3.0.RELEASE</version>
   <relativePath/>
</parent>

<properties>
   <java.version>1.8</java.version>
   <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
</properties>

<dependencyManagement&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值