- Netty+webFlux(spring 5.0) 非阻塞的API
- zuul是非Reactor springcloudGateway是基于webflux框架,实现的而webflux底层是高性能的reator模式通信的框架netty(异步非阻塞)
- zuul1.x基于色v了他2.5阻塞架构不支持长连接(web socket) 模式和nginx很像,每次IO从工作线程中执行,请求线程被阻塞到工作线程完成,但是差别是nginx用c++实现,而JVM本身回第一次加载较慢。
- zuul2.x基于netty非阻塞,支持长连接,rps(每秒请求数)是zuul的1.6倍。
- Predicate路由:
spring: cloud: gateway: routes: -id: after-route uri: https://baidu.com predicates: -Path:/pay-ment/get/** -Ater-2017-.....(这串时间由jdk8中的zonedDateTime.now()生成,表示在该时间后执行) -Cookie=username:zzyy(cookie中的key是uasename value 为zzyy) ---------------参见官网其他的断言。例如Method=Get Query=username,\dt
- 过滤器Filters
- 自定义过滤器(实现GlobalFillter Order, 主要用于网关鉴权)
@Component public class MyGlobalFilter implements GlobalFilter,Order { @override public filter(exchange , chain ) { String uname = exchange.getRequest().getQueryParams().getFirset9UNAME0; if(null==uname) { exchange.getResponse().setStatusCode(HttpStates.NotAcceptor) return exchange.getResponse.setComplete(); } return chain.filter(exchange); } }
SpringCloud Gateway
最新推荐文章于 2024-03-10 10:21:00 发布