I am using spring cloud eureka and spring cloud zuul proxy and i was wondering if there is any way to add dymanic zuul routes when a new service is register in eureka server or the only way to add a route is edit the application.yml file and restart the spring zuul application
zuul:
ignoredPatterns: /**/admin/**
routes:
users: /myusers/**
The Netflix Zuul service provides dynamic routing. Using Zuul in your app enables your services to use the information from the Eureka service directory to reach other services. Because both Eureka and Zuul are Java applications they can be implemented with Spring Boot, part of the Spring Framework for Java.
Each request received by Zuul is forwarded to a different instance in a round robin fashion. If we start another instance and register it in Eureka, Zuul will register it automatically and start forwarding requests to it: Hello from 'SPRING-CLOUD-EUREKA-CLIENT with Port Number 8083'!
Eureka belongs to "Open Source Service Discovery" category of the tech stack, while Zuul can be primarily classified under "Microservices Tools". Eureka is an open source tool with 8.16K GitHub stars and 2.27K GitHub forks.
If your Zuul server is also EurekaClient (use @EnableDiscoveryClient annotation) it will discover all the services and automatically will create routes.
Ex. Zuul server is zuul.mydomain.com Eureka has 2 services registered with it : orders and accounts
Then Zuul will automatically have two routes Zuul.mydomain.com/orders and Zuul.mydomain.com/accounts
And this will forward to particular service. It will also automatically load balance calls for you if services run on multiple machines.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With