Definition
- java based gateway service developed by netflix, layered ontop of the microservices
- acts as a load balancer for the microservices
Pros
- simplifies client development - only need to hit one end point which is the zuul url
- centralises security
- enhances monitoring
- allows for stats - traffic patterns, micro service health
- provides resiliency (ability to recover from failure/distruption/challenges)
- failover from one microservice to another
- circuit breaking - prevents massive cascading failure. once conditions are triggered can stop the entire process from continuing
- monitoring & logging
- health checks
Cons
- single point of failure
- adds complexity
considerations for choosing a gateway service
- tech stack
- what the microservice is based upon
- similar technologies = work faster = integrate better?
- features
- routing
- monitoring
- security
- ease of use
- learning curve
- maintainence
- community and support
- technologies which are constantly being monitored/updated/patched
other alternatives
- Spring Cloud Gateway
- Kong