Spring Cloud GateWay 介绍

基于2.2.0.BUILD-SNAPSHOT介绍

该项目提供了一个建立在Spring Ecosystem之上的API网关,包括:Spring 5,Spring Boot 2和Project Reactor。Spring Cloud Gateway旨在提供一种简单而有效的方式来路由到API,并为他们提供横切关注点,例如:安全性,监控/指标和弹性。

如何包含Spring Cloud Gateway

要在项目中包含Spring Cloud Gateway,请使用组org.springframework.cloud和artifact id spring-cloud-starter-gateway的starter。有关使用当前Spring Cloud Release Train设置构建系统的详细信息,请参阅Spring Cloud Project页面。如果包含启动器,但由于某种原因,您不希望启用网关,请设置spring.cloud.gateway.enabled = false。

Spring Cloud Gateway基于Spring Boot 2.0,Spring WebFlux和Project Reactor构建。因此,许多熟悉的同步库(例如Spring Data和Spring Security)和模式在使用Spring Cloud Gateway时可能不适用。如果您不熟悉这些项目,我们建议您在使用Spring Cloud Gateway之前先阅读他们的文档以熟悉一些新概念。

Spring Cloud Gateway需要Spring Boot和Spring Webflux提供的Netty运行时。它不能在传统的Servlet容器中工作或构建为WAR。

名词介绍

路由:路由网关的基本构建块。它由ID,目标URI,谓词集合和过滤器集合定义。如果聚合谓词为真,则匹配路由。

谓词:这是一个Java 8函数谓词。输入类型是Spring Framework ServerWebExchange。这允许开发人员匹配来自HTTP请求的任何内容,例如标头或参数。

过滤器:这些是使用特定工厂构建的Spring Framework GatewayFilter实例。这里,可以在发送下游请求之前或之后修改请求和响应。

工作原理

Spring Cloud Gateway Diagram

客户端向Spring Cloud Gateway发出请求。如果网关处理程序映射确定请求与路由匹配,则将其发送到网关Web处理程序。此处理程序运行通过特定于请求的过滤器链发送请求。滤波器被虚线划分的原因是滤波器可以在发送代理请求之前或之后执行逻辑。执行所有“预”过滤器逻辑,然后进行代理请求。在发出代理请求之后,执行“post”过滤器逻辑。

在没有端口的路由中定义的URI将分别为HTTP和HTTPS URI获取默认端口设置为80和443。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值