Java学习

Zuul之Filter详解

2019-08-04  本文已影响0人  爱上游戏开发

Zuul详解

官方文档https://github.com/Netflix/zuul/wiki/How-it-Works

Zuul的中心是一系列过滤器,能够在HTTP请求和响应的路由过程中执行一系列操作。

以下是Zuul过滤器的主要特征:

Zuul提供了一个动态读取,编译和运行这些过滤器的框架。过滤器不直接相互通信 - 而是通过RequestContext共享状态,RequestContext对每个请求都是唯一的。

过滤器目前用Groovy编写,尽管Zuul支持任何基于JVM的语言。每个Filter的源代码都写入Zuul服务器上的一组指定目录,这些目录会定期轮询更改。更新的过滤器从磁盘读取,动态编译到正在运行的服务器中,并由Zuul为每个后续请求调用。

过滤类型

Zuul大部分功能都是通过过滤器来实现的。Zuul中定义了四种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期:

除了默认的过滤器类型,Zuul还允许我们创建自定义过滤器类型。例如,我们有一个自定义STATIC类型的过滤器,它直接在Zuul中生成响应,而不是将请求转发到后端的微服务。

Zuul请求的生命周期

Zuul请求的生命周期如下图所示,改图详细的描述了各种类型的过滤器执行顺序。


上一篇 下一篇

猜你喜欢

热点阅读