(一)zuul请求的生命周期
- 流程
- 客户端HTTP发来一个请求。
- spring框架经常使用会提到拦截器,过滤器,zuul也是如此,定制化微服务。
- 通过前置过滤器"pre fiters" ,"routing fiters"访问后端的微服务,"post fiters"返回给客户端
(二)zuul过滤器使用及详解
- PRE
- ROUTING
- POST
- ERROR
- 源码
- filterType
- filter0rder
- shouldFilter
- run
- 代码示例
- 禁用zuul过滤器
例如,要禁用上面我们写的过滤器,这样配置就行了:
zuul.PreRequestLogFilter.pre.disable=true
- zuul的容错与回退
(三)zuul的高可用
- zuul客户端也注册到了Eureka Server上
- zuul客户端未注册到Eureka Server上
PS:zuul 作为网关这么重要的角色,高可用是非常有必要的。但是通常来说网关所面对的请求应该的是来于外部,所以虽然说网关可以注册到Eureka Server上,但是外部的客户端数量众多,是不可能向Eureka Server注册的。那么要实现高可用的,要么在网关前面再架一个前置代理(如Nginx)。