一、什么是Zuul
Zuul的官方是这样解释的,Zuul是Netflix的一款网关产品,旨在实现动态路由,监控,弹性和安全性,它还可以根据需要将请求路由到多个Amazon自动伸缩组。
二、Netflix为什么要建造Zuul(Zuul是为了解决什么问题而诞生的)
Netflix的API流量的数量和种类众多,这样有时会导致生产问题在没有任何警告的情况下突然出现,所以Netflix遍需要一个能快速应对这种情况的系统,Zuul就是在这样一种情况下诞生的
三、Zuul具有的基本应用场景
- 身份验证和安全性——标识每个资源的身份验证需求,并拒绝不满足这些需求的请求。
- 洞察和监控——跟踪有意义的数据和统计数据,以便给我们一个准确的生产视图。
- 动态路由——根据需要将请求动态路由到不同的后端集群。
- 压力测试——逐渐增加集群的流量以评估性能。
- 负载减少—为每种类型的请求分配容量,并删除超过限制的请求。
- 静态响应处理——直接在边缘构建一些响应,而不是将它们转发到内部集群
- 多区域弹性——通过AWS区域路由请求,以实现ELB使用的多样化,并使我们的优势更接近我们的成员
在这里我们需要了解什么是API网关:
API网关本质上就是一个处理微服务的跨横切面的公共组件,网关一般都具有单点登录、路由转发、限流熔断、日志监控、安全认证等基本功能。
而Zuul网关的亮点就是,可动态发布的过滤机制(因为网关处于服务的最外层,在更新代码后重新部署时会有短暂的时间访问不了,而在一个大型系统中这种情况是不太好的,所以最好是能在不影响流量的情况下升级功能)。