Zuul是什么

Fanly 问答 2020-07-13 11:22:46 阅读(...)

Zuul 是 Netflix 开源的一个网关组件 API Gateway 服务器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

ZuulNetflix 开源的一个网关组件 API Gateway 服务器,本质上是一个 web servlet 应用。

Zuul

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 中生成响应,而不将请求转发到后端的微服务。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • Eureka

    Eureka是什么

    Eureka又称服务中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等。通过服务中心来获取服务你不需要关注你调用的项目IP地址,由几台服务器组成,每次直接去服务中心获取可以使用的服务去调用既可。
  • Netflix 游戏

    Netflix正在建立自己的游戏工作室

    Netflix 不再完全依赖第三方团队来支持其游戏目录。这家流媒体巨头正在芬兰赫尔辛基成立一个内部游戏工作室,以创建没有广告或应用内购买的“世界级”原创游戏。
  • Netflix

    Netflix是什么

    Netflix,或译为网飞、奈飞,是起源于美国、在多国提供网络视频点播的OTT服务公司,并同时在美国国内经营单一费率邮寄DVD出租服务,后者是使用回邮信封寄送DVD和Blu-ray出租光盘至消费者指定的收件地址。
  • 软路由 ZimaBoard

    软路由网卡是否支持高级网络协议和安全功能

    软路由网卡的高级网络协议和安全功能支持对软路由的性能和安全性至关重要。支持IPv6、VLAN、OSPF、BGP等协议能够实现更灵活的网络架构和路由功能。同时,支持VPN、防火墙、IDS/IPS、802.1X等安全功能能够提供强大的网络安全保护。
  • R86S 万兆软路由

    软路由中的网卡是什么作用

    网卡在软路由中扮演着至关重要的角色,它是软路由与外部网络之间的桥梁,负责数据传输、处理和网络配置。选择合适的网卡对软路由的性能、可靠性和功能扩展性至关重要。在构建软路由系统时,务必根据网络需求选择适合的网卡,以确保软路由系统的稳定运行和优良性能。
  • Nanopi R2S 软路由

    软路由如何进行故障诊断

    软路由的故障诊断是解决网络问题的关键步骤。通过收集信息、逐层排查和验证假设,可以快速定位和解决故障。常见的故障诊断步骤包括检查物理连接、验证网络配置、进行连通性测试、分析日志信息、排查应用层问题和使用网络分析工具等。