Springcloud学习之Gateway
一:gateway简介
Spring Cloud的⼀个全新项⽬,⽬标是取代Netflflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux(基于⾼性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型)等技术开发,性能⾼于Zuul(1.0基于BIO, 2.0基于Netty),官⽅测试,GateWay是Zuul的1.6倍,旨在为微服务架构提供⼀种简单有效的统⼀的API路由管理⽅式。不仅提供统⼀的路由⽅式(反向代理)并且基于 Filter(定义过滤器对请求过滤,完成⼀些功能) 链的⽅式提供了⽹关基本的功能,例如:鉴权、流量控制、熔断、路径重写、⽇志监控等。
二:gateway在微服务架构中角色担当

三:gateway 核心概念
路由(route): ⽹关最基础、⽐较基础的⼯作单元。路由由⼀个ID、⼀个⽬标URL(最终路由到的地址)、⼀系列的断⾔(匹配条件判断)和Filter过滤器(精细化控制)组成。如果断⾔为true,则匹配该路由。
4.2:编写项目启动类

4.3:添加gateway配置

五:gateway 动态路由

六:gateway 过滤器
6.1:过滤器区分
从过滤器生命周期区分,过滤器分为pre 和 post两种
pre:请求被路由之前调⽤。我们可利⽤这种过滤器实现身份验证、在集群中选择 请求的微服务、记录调试信息等.
post:路由到微服务以后执⾏。这种过滤器可⽤来为响应添加标准的 HTTP Header、收集统计信息和指标、将响应从微服务发送给客户端
从过滤器类型的⻆度区分,过滤器分为GateWayFilter和GlobalFilter两种
GateWayFilter:应⽤到单个路由路由上
GlobalFilter:应⽤到所有的路由上
6.2:⾃定义全局过滤器实现IP访问限制(⿊⽩名单)

七:gateway高可用
只需要在负载均衡服务器中配置反向代理地址即可


浙公网安备 33010602011771号