Reputation:
i have created two java spring-boot micro services they are 1) producer 2) consumer and i have used spring eureka server for service registration and discovery . it worked fine . then what is the use of Netflix Zuul.
Upvotes: 9
Views: 17546
Reputation: 20773
If you have enough experience in the domain, you could look at zuul as an API gateway like Apigee. It is very feature rich and touches up on a lot of different concerns like routing, monitoring and most importantly, security. And eureka as a service discovery platform that allows you to load balance (in Linux terms the nginx or haproxy) and fail over between your service instances.
Upvotes: 2
Reputation: 1254
Let's suppose you have 20 services to which user can interact to, and of course we are not going to expose each and every services publicly because that will be madness (because all services will have different ports and context), so the best approach will be to use an API gateway which will act as single entry point access to our application (developed in micro service pattern) and that is where Zuul comes into picture. Zuul act as a reverse proxy to all your micro-services running behind it and is capable of following
Authentication
Dynamic Routing
Service Migration
Load Shedding
Security
Static Response handling
Active/Active traffic management
You can go through documentation here
Upvotes: 15
Reputation: 1618
Typically the backend services that perform the server side business operations (i.e. core) are not exposed publicly due to many reasons. They are shielded by some Gateway layer that also serves as reverse-proxy. Netflix Zuul
serves as this gateway layer which easily gives you the capabilities as mentioned by @Apollo and here
Upvotes: 1