在运行时动态配置Zuul代理?

时间:2017-01-05 06:46:38

标签: spring-cloud netflix-zuul netflix-eureka netflix-ribbon

我有一个看起来像这样的网址:

/{identifier}/rest/of/resource/path

如果identifierA,则请求应转到service_I。如果identifierB,则请求也应转到service_I。如果identifierC,则请求应转到service_II,依此类推。

稍后新的identifiers MN会添加到系统中,其请求应该路由到service_IV

是否可以动态配置Spring cloud zuul代理来执行上述任务?

修改

question offered包含一种不同的方式来检查问题。

其中Zuul具有以下配置:

zuul:
  routes:
    <service_id>:
      path: /path/**

Zuul将与Eureka合作找到service-id并返回主机参数,以便可以访问该服务。如果/path代替/{userID}userID个实例分布在多个service_id主机上,该怎么办?

Zuul / DiscoveryClient可以在service_iduserID查询Eureka,以确定哪个主机托管特定userID

1 个答案:

答案 0 :(得分:1)

您需要编写自定义ZuulFilter才能完成此操作。请查看PreDecorationFilter以获取一些提示,因为这是负责处理/path的过滤器,其中路径为service-id(以及其他内容)。