将请求路由到同一服务,注册为两个不同的服务ID

时间:2015-06-15 06:04:16

标签: spring-boot netflix-eureka netflix-zuul

在我的春季启动应用程序中,我使用Eureka服务器进行发现服务。 在我的一个Discovery客户端应用程序中,我使用zuul代理将请求路由到向Discovery Server注册的不同服务。

我有一个资源应用程序负责将数据存储到数据库中。我已为此服务创建了两个实例,这两个实例使用发现服务注册为两个不同的服务。 为这项服务发布的api可以说是/资源Get,Post等

客户端应用程序为此资源服务的两个实例发送/ definitions和/ locations之类的请求。

现在我的问题是我想将这个/定义映射到service-id 1 / resources和位置到/ service-id2 / resources。

我不确定如何执行此操作,因为当我从客户端应用程序发送/定义它/资源应用程序中的定义时,情况并非如此。

我正在尝试这样的事情 zuul: routes: locations: path: /locations/** rewrite: /resources/** serviceId: location_service stripPrefix: false definitions: path: /definitions/** rewrite: /resources/** serviceId: definition_service stripPrefix: false

1 个答案:

答案 0 :(得分:1)

您在两种情况下都使用stripPrefix: false。这意味着zuul不会将其从请求网址中删除并传递给您的代理服务。尝试玩这个。

至少在spring-cloud org.springframework.cloud.netflix.zuul.filters.ZuulProperties文件中没有'重写'财产,你确定它是正确的吗?

相关问题