当前位置: 首页 > 图灵资讯 > java面试题> javaSpringCloud面试题-GateWay / Zuul

javaSpringCloud面试题-GateWay / Zuul

来源:图灵教育
时间:2024-05-24 13:12:00
GateWay⽬标是取代Netflflix Zuul,它基于Spring5.0+SpringBoot2.0+WebFlux等技术开发,提供统⼀的路由⽅式(反向代理)并且基于 Filter(定义过滤器对请求过滤,完成⼀些功能) 链的⽅式提供了⽹关基本的功能,例如:鉴权、流量控制、熔断、路径重写、⽇志监控。

组成:

●路由route: ⽹关最基础的⼯作单元。路由由⼀个ID、⼀个⽬标URL、⼀系列的断⾔(匹配条件判断)和Filter过滤器组成。如果断⾔为true,则匹配该路由。

●断⾔predicates:参考了java8中的断⾔Predicate,匹配Http请求中的所有内容(类似于nginx中的location匹配⼀样),如果断⾔与请求相匹配则路由。

●过滤器filter:标准的Spring webFilter,使⽤过滤器在请求之前或者之后执⾏业务逻辑。请求前pre类型过滤器:做参数校验、权限校验、流量监控、⽇志输出、协议转换等;请求前post类型的过滤器:做响应内容、响应头的修改、⽇志的输出、流量监控等。

GateWayFilter 应⽤到单个路由路由上 、GlobalFilter 应⽤到所有的路由上。