Zuul 是 Netflix 开源的一个网关组件 API Gateway 服务器 , 本质上是一个 web servlet 运用 。
文章插图
Zuul 在云平台上给予动态路由 , 监管 , 弹力 , 安全等边沿服务的框架 。Zuul 相当于是设备及 Netflix 流运用的 Web 网址后面全部请求的前门 。
zuul 的事例可以参考 netflix 在 github 里的 simple webapp , 可以按 netflix 在 github wiki 上文档说明来进行使用 。
zuul 工作原理1.过滤器体制
zuul 的核心是一系列的 filters, 其作用能够对比 Servlet 框架的 Filter , 或是 AOP 。
zuul 把 Request route 到 客户解决逻辑 的过程中 , 这种 filter 参加一些过虑解决 , 例如 Authentication , Load Shedding 等 。
Zuul 提供了一个架构 , 能够对过滤器开展动态的载入 , 编译 , 运作 。
Zuul 的过滤器中间没有直接的互相通信 , 彼此之间通过一个 RequestContext 的静态类去进行数据传递的 。RequestContext 类含有 ThreadLocal 变量来记录每个 Request 所要传达的数据 。
Zuul 的过滤器是由 Groovy 写出 , 这种过滤器文档被放到 Zuul Server 里的特殊目录下边 , Zuul 会定期轮询这种目录 , 改动完的过滤器会动态的载入到 Zuul Server 中便于过虑请求应用 。
下面有几种标准的过滤器类型:
Zuul 大部分作用也是通过过滤器来完成的 。Zuul 中定义了四种规范过滤器类型 , 这种过滤器类型对应于请求的常见生命期 。
(1) PRE:这类过滤器在请求被路由以前启用 。我们可利用这种过滤器完成身份认证、在集群中挑选请求的微服务、纪录调试信息等 。
(2) ROUTING:这类过滤器将请求路由到微服务 。这类过滤器用以搭建发给微服务的请求 , 并用 Apache HttpClient 或 Netfilx Ribbon 请求微服务 。
(3) POST:这类过滤器在路由到微服务之后实行 。这类过滤器可用来给响应加上标准的 HTTP Header、搜集统计数据和指标、将响应从微服务发给客户端等 。
(4) ERROR:在别的环节发生错误时实行该过滤器 。
内置的独特过滤器
zuul 还提供一类特殊过滤器 , 分别是:StaticResponseFilter 和 SurgicalDebugFilter
StaticResponseFilter:StaticResponseFilter 容许从 Zuul 自身形成响应 , 而非将请求分享到源 。
SurgicalDebugFilter:SurgicalDebugFilter 容许将特殊请求路由到隔开的调节集群或主机 。
自定的过滤器
除开默认的过滤器类型 , Zuul 还容许大家建立自定的过滤器类型 。
比如 , 我们能订制一种 STATIC 类型的过滤器 , 直接从 Zuul 中形成响应 , 而不将请求分享到后端微服务 。
【zuul是什么意思 zuul是什么】
- 数据被分成K个部分的数据与全部数据之比 比例是什么
- JetBrains的构建管理和持续集成服务器 TeamCity是什么
- XLSX 是什么格式
- mbit是什么参数 mbit是什么
- 摄影师拍摄需要注意什么 备拍是什么
- 食用油标准号qllh与gb区别 食用油生产标准号q和gb是什么
- 猪肚鸡的正宗做法 猪肚鸡是什么东西
- 发朋友圈vs的意思可能是耶、胜利 发朋友圈vs是什么意思
- 高铁候补抢票是什么意思啊 高铁候补抢票是什么意思
- 电表一直闪红灯太快是不是用电多 电表闪红灯是什么意思