In a microservice architecture, Zuul is a front door for all the requests (gatekeeper). It acts as an edge service application. Zuul is built to enable dynamic routing, monitoring, resiliency, and security among the services. It also has the ability to dynamically route requests as needed.
Trivia: In Ghostbusters, Zuul is the gatekeeper.
Zuul works based on different types of filter that enable us to quickly and nimbly apply functionality to our edge service.
These filters help us to perform the following functions:
- Authentication and security: To identify each resource's authentication requirements and to reject requests that do not satisfy the requirements
- Insights and monitoring: To track data and statistics at the edge and to give an insight into the production application
- Dynamic routing: To dynamically route requests to different backend clusters as needed based on health and other factors
- Multi-regional resiliency (AWS): To route requests across AWS regions in order to diversify our Elastic Load Balancer usage and move our edge closer to our members
For even more information on Zuul, please check https://github.com/Netflix/zuul/wiki.