Gateway网关
webFlux,reactor,netty
Gateway是基于Filter链的方式类提供网关基本的功能,例如:安全,监控/指标和限流
网关能进行反向代理,鉴权,流量控制,熔断,日志监控。。。
Gateway是有route(路由),断言,过滤组成
route:是网关的基本模块,是有ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由
predicate(断言):如果请求与断言想匹配则进行路由
Filter:可以在请求被路由前或者之后对请求 进行修改
网关不需要web依赖
通过网关的端口号来进行访问
网关配置有两种:
1.在配置文件的yml中进行配置
2.在配置类里面添加RouteLocator的bean
Filter的生命周期有两种:pre 和 post
种类:GateWayFilter(单一的)和GlobalFilter(全局的)
自定义的过滤器主要实现两个接口: implements GlobalFilter,Order
验证失败,获取响应设置状态码 exchange.getResponse.setStatusCode(HttpStatus.NOT_ACCEPTABLE)
提交完成,返回响应: return exchange.getResponse().setComplete()