Spring Cloud Zuul/Eureka dynamic route

alfespa17 picture alfespa17 · May 5, 2016 · Viewed 9.4k times · Source

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/**

Answer

vladsfl picture vladsfl · May 7, 2016

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.