【问题标题】:What does Netflix Zuul do more than regular Servlet Filters?Netflix Zuul 比常规 Servlet 过滤器做得更多?
【发布时间】:2015-05-10 22:28:28
【问题描述】:

我了解 Netflix Zuul 充当过滤器,可以路由请求(尤其是在基于分布式 API 的环境中)。

  1. 与 Struts2 类框架中的常规 Servlet 过滤器或拦截器相比,Zuul 带来了哪些特殊功能?

  2. Zuul 过滤器是由 Servlet 过滤器本身制成的吗?

注意:很少有关于 Zuul 的文章谈到可以在 Zuul 中完成的动态路由、减载、洞察、健康分析等。我的问题是,我不能在我的传统过滤器或 Struts2 Interceptors..etc 中执行相同的操作吗? Zuul 带来了什么不同?

【问题讨论】:

    标签: filter servlet-filters netflix netflix-zuul


    【解决方案1】:
    1. 用 Groovy 编写的 Zuul 过滤器可以动态创建并注入 Zuul。
    2. 过滤器接口被设计为在请求和响应中创建为管道,使得设置过滤器优先级、添加、删除或更改通过过滤器链的请求变得非常容易,并且可以做一些有趣的事情路由。

    【讨论】:

      【解决方案2】:

      Zuul 过滤器是动态的。在他们的简单 webapp 示例中,过滤器是从脚本目录中轮询的。我也想这可以被重构以从其他地方进行投票。使用 Struts,您的过滤器与应用程序一起编译。

      【讨论】:

        【解决方案3】:

        Netflix Zuul 是一个 HTTP 反向代理,因此您可以过滤、负载平衡对内部微服务的 HTTP 请求。

        在此处阅读更多信息:

        http://martinfowler.com/eaaCatalog/gateway.html http://martinfowler.com/articles/microservices.html

        【讨论】:

          猜你喜欢
          • 2020-04-15
          • 2015-11-18
          • 2015-11-13
          • 2016-06-15
          • 2018-01-18
          • 1970-01-01
          • 2017-02-09
          • 2020-05-06
          • 2017-04-19
          相关资源
          最近更新 更多