微服务网关之Springcloud GateWay

简介

  1. 由于有如此众多的客户端和服务器,在云体系结构中包括一个API网关通常会很有帮助。网关可以负责保护和路由消息,隐藏服务,限制负载以及许多其他有用的事情。Spring Cloud Gateway为您提供对API层的精确控制,集成了Spring Cloud服务发现和客户端负载平衡解决方案,以简化配置和维护。

  2. SpringCloud Gateway 是Spring cloud的一个全新的项目,基于Spring Framework 5,Project Reactor和Spring Boot 2.0等技术开发的网关,它旨在为为微服务架构提供简单有效的统一的API路由管理方式。

  3. SpringCloud Gateway作为Spring cloud 生态系统中的网关,目标是替代zuul,在Springcloud2.0以上的版本中,没有对新版本的zuul2.0一盒收纳柜最新高性能版本进行集成,仍然还是使用的是Zuul1.x非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway 是基于WebFlux框架实现的,而WebFlux框架使用了高性能的Reactor模式通信框架Netty。

  4. Spring Cloud Gateway的目标提供统一的路由方式且基于Filter链的方式提供网关的基本功能,例如:安全,监控/指标,和限流。

Spring Cloud架构亮点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ISvGGIqG-1625737431421)(https://spring.io/images/cloud-diagram-1a4cad7294b4452864b5ff57175dd983.svg)]

特征

Spring Cloud Gateway功能:

  • 基于Spring Framework 5,Project Reactor和Spring Boot 2.0构建
  • 能够匹配任何请求属性上的路由。
  • 谓词和过滤器特定于路由。
  • Hystrix断路器集成。
  • Spring Cloud DiscoveryClient集成
  • 易于编写的谓词和过滤器
  • 请求速率限制
  • 路径改写

三大核心概念

Route( 路由)

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

Predicate(断言)

开发人员可以匹配HTTP请求中的所有内容(例如请求头或请求参数),如果请求与断言相匹配则进行路由。

Filter(过滤)

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

工作流程

Clients make requests to Spring Cloud Gateway. If the Gateway Handler Mapping determines that a request matches a route, it is sent to the Gateway Web Handler. This handler runs the request through a filter chain that is specific to the request. The reason the filters are divided by the dotted line is that filters can run logic both before and after the proxy request is sent. All “pre” filter logic is executed. Then the proxy request is made. After the proxy request is made, the “post” filter logic is run.
  1. 客户端向Spring Cloud Gateway发出请求。然后在Gate Handler Mapping中找到与请求相匹配的路由,将其发送到Gateway Web Handler。
  2. Handler再通过指定的过滤器来讲请求发送到实际的服务执行业务逻辑,然后返回。
  3. 过滤器之间用虚线分开是因为过滤器可能会在发送代理之前(“pre”)或之后(”post“)执行业务逻辑。
  4. Filter在”pre“类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等
  5. 在”post“类型的过滤器中可以做响应内容、响应头修改,日志输出,流量监控等有着非常重要的作用。
  6. 核心逻辑:路由转发+执行过滤器链
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值