对于 API Gateway,常见的选型有基于 Openresty 的 Kong、基于 Go 的 Tyk 和基于 Java 的 Zuul。
什么是Zuul?
Zuul是设备和网站到Netflix流媒体应用程序后端所有请求的前门。
作为边缘服务应用程序,Zuul的目的是实现动态路由,监控,弹性和安全性。
它还能够根据需要将请求路由到多个Amazon Auto Scaling组。
我们为什么要建造Zuul?
Netflix API流量的数量和多样性有时会导致生产问题迅速出现,并且没有任何警告。
我们需要一个能让我们快速改变行为的系统,以便对这些情况作出反应。
Zuul使用一系列不同类型的过滤器,使我们能够快速,灵活地将功能应用于我们的边缘服务。
这些过滤器可帮助我们执行以下功能:
-
身份验证和安全性 – 识别每个资源的身份验证要求并拒绝不符合要求的请求。
-
洞察和监测 – 在边缘跟踪有意义的数据和统计数据,以便为我们提供准确的生产视图。
-
动态路由 – 根据需要动态路由请求到不同的后端群集。
-
压力测试 – 逐渐增加群集流量以衡量性能。
-
加载Shedding – 为每种类型的请求分配容量并删除超出限制的请求。
-
静态响应处理 – 直接在边缘建立一些响应,而不是将它们转发到内部群集
-
多区域弹性 – 跨AWS区域的路由请求,以便扩大我们的ELB使用范围,并使我们的边缘更接近我们的会员
欲了解更多详情:
我们如何在Netflix使用Zuul
github 地址 :
https://github.com/Netflix/zuul
推荐阅读
: 聊聊 API Gateway 和 Netflix Zuul