【Zuul 介绍】

Zuul 介绍

Zuul 是提供动态路由,监控,弹性,安全等的边缘服务。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。Zuul 可以适当的对多个 Amazon Auto Scaling Groups 进行路由请求。

Zuul is an edge service that provides dynamic routing, monitoring, resiliency, security, and more。Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application. As an edge service application, Zuul is built to enable dynamic routing, monitoring, resiliency and security. It also has the ability to route requests to multiple Amazon Auto Scaling Groups as appropriate.

Why did we build Zuul?

The volume and diversity of Netflix API traffic sometimes results in production issues arising quickly and without warning. We need a system that allows us to rapidly change behavior in order to react to these situations.

Zuul uses a range of different types of filters that enables us to quickly and nimbly apply functionality to our edge service. These filters help us perform the following functions:

Authentication and Security - identifying authentication requirements for each resource and rejecting requests that do not satisfy them.

Insights and Monitoring - tracking meaningful data and statistics at the edge in order to give us an accurate view of production.

Dynamic Routing - dynamically routing requests to different backend clusters as needed.

Stress Testing - gradually increasing the traffic to a cluster in order to gauge performance.

Load Shedding - allocating capacity for each type of request and dropping requests that go over the limit.

Static Response handling - building some responses directly at the edge instead of forwarding them to an internal cluster

Multiregion Resiliency - routing requests across AWS regions in order to diversify our ELB usage and move our edge closer to our members

Zuul Components

Zuul contains multiple components:

zuul-core - library which contains the core functionality of compiling and executing Filters

zuul-simple-webapp - webapp which shows a simple example of how to build an application with zuul-core

zuul-netflix - library which adds other NetflixOSS components to Zuul - using Ribbon for routing requests, for example.

zuul-netflix-webapp - webapp which packages zuul-core and zuul-netflix together into an easy to use package

Zuul 包含多个组件:

zuul-core 

zuul-simple-webapp 

zuul-netflix 

zuul-netflix-webapp 

猜你喜欢

转载自gaojingsong.iteye.com/blog/2359571