我们面临的问题是我们需要做诸如动态路由和Canary发布之类的事情。因此,例如,我们部署了微服务microservice-1
。然后,当某人完成一项重要功能时,我们希望将其部署为微服务microservice-1.1
。
题
是否可以使用信息(例如来自标头)动态地重新路由请求,并路由到微服务版本microservice-1.1
而不是microservice-1
?
例如,某人需要此功能,他将修改/添加特定的Header,对于所有请求,他将使用新的microservice-1.1
。并且如果缺少该标头,则应使用当前的microservice-1版本。
对于服务发现,我正在使用Eureka。目前,我正在查看linkerd,但目前没有对Eureka的支持,我正在对此进行开发。当然,如果可以使用Zuul做到这一点,那就太好了。请告知在哪里看。
最佳答案
不确定Netflix Zuul,但我们喜欢Istio(由Google等支持)提出的方法,该方法与Containers(Kubernetes)配合得很好,并且您获得了对金丝雀版本的支持https://istio.io/blog/2017/0.1-canary/