我有一个看起来像这样的网址:
/{identifier}/rest/of/resource/path
如果identifier
为A
,则请求应转到service_I
。如果identifier
为B
,则请求也应转到service_I
。如果identifier
为C
,则请求应转到service_II
,依此类推。
稍后新的identifiers
M
和N
会添加到系统中,其请求应该路由到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_id
和userID
查询Eureka,以确定哪个主机托管特定userID
?
答案 0 :(得分:1)
您需要编写自定义ZuulFilter
才能完成此操作。请查看PreDecorationFilter以获取一些提示,因为这是负责处理/path
的过滤器,其中路径为service-id
(以及其他内容)。