微服务api网关使用Zuul构建API Gateway

对于 API Gateway,常见的选型有基于 Openresty 的 Kong、基于 Go 的 Tyk 和基于 Java 的 Zuul。git

什么是Zuul?

Zuul是设备和网站到Netflix流媒体应用程序后端全部请求的前门。做为边缘服务应用程序,Zuul的目的是实现动态路由,监控,弹性和安全性。它还可以根据须要将请求路由到多个Amazon Auto Scaling组。github

咱们为何要建造Zuul?

Netflix API流量的数量和多样性有时会致使生产问题迅速出现,而且没有任何警告。咱们须要一个能让咱们快速改变行为的系统,以便对这些状况做出反应。后端

Zuul使用一系列不一样类型的过滤器,使咱们可以快速,灵活地将功能应用于咱们的边缘服务。这些过滤器可帮助咱们执行如下功能:api

  • 身份验证和安全性 - 识别每一个资源的身份验证要求并拒毫不符合要求的请求。安全

  • 洞察和监测 - 在边缘跟踪有意义的数据和统计数据,以便为咱们提供准确的生产视图。app

  • 动态路由 - 根据须要动态路由请求到不一样的后端群集。性能

  • 压力测试 - 逐渐增长群集流量以衡量性能。测试

  • 加载Shedding - 为每种类型的请求分配容量并删除超出限制的请求。网站

  • 静态响应处理 - 直接在边缘创建一些响应,而不是将它们转发到内部群集spa

  • 多区域弹性 - 跨AWS区域的路由请求,以便扩大咱们的ELB使用范围,并使咱们的边缘更接近咱们的会员

欲了解更多详情: 咱们如何在Netflix使用Zuul

github  地址 :https://github.com/Netflix/zuul

推荐阅读 :  聊聊 API Gateway 和 Netflix Zuul