让我们考虑以下情况。此示例仅包含包含localhost的url。我有一个zuul代理设置,让我们说它在端口8080上运行。所以
Zuul proxy-
localhost:8080
我在端口81上运行了一个eureka服务器设置。
Eureka server-
localhost:8081.
我有一个应用程序可以通过名称示例调用它,这是一个REST Web服务。它在3个不同的端口82,83和84上运行。所有3个实例都在eureka服务器上注册。我在zuul中为uri / example设置了一个过滤器。
所以我希望消费者在locahost上调用zuul代理:8080 / example。
现在,在请求映射/示例的应用示例中,有一个控制器设置。
所以我想要做的就是让消费者调用localhost:8080 / example并将该请求路由到localhost:8082 / example,localhost:8083 / example,localhost:8084 / example。我知道如何使用ribbon和eureka进行负载平衡,并设置所有适当的属性来实现这一目标。
zuul.routes.example.serviceid=example
ribbon.eureka.enabled=true.
我想做的是让功能区从eureka服务器查找url(s)列表,然后调用localhost:8082 / example而不是localhost:8082。
这可能吗?
提前谢谢。
答案 0 :(得分:1)
您需要指定path
& serviceId
zuul:
routes:
examplepath:
path: /example/**
serviceId: name-example
stripPrefix: false
serviceId
是在Eureka注册的名称。希望您在Zuul网关中指定Eureka服务器详细信息。