We faced with the problem that we need to do such thing as dynamic routing and canary releases. So, for example, we deploy microservice microservice-1
. Then, when someone finished a big feature we want to deploy it as a microservice microservice-1.1
.
Question
Is it possible to dynamically reroute requests using information, for example, from Headers, and route to the microservice version microservice-1.1
instead on microservice-1
?
For example, someone needs this feature and he will modify/add specific Header and for all requests, he will use new microservice-1.1
. And if that Header is missing then the current microservice-1 version should be used.
For service discovery, I am using Eureka. Right now I am looking at linkerd but there is no support for Eureka and I am working on it right now. Of course, if it is possible to do it using Zuul that would be great. Please advise where to look at.