Ribbon- 从 Eureka 获得的 urls 调用应用程序的特定 uri

Ribbon- Calling a specific uri of an application from urls obtained from Eureka

让我们考虑下面的 situation.This 示例将只有 urls 包含本地主机。我有一个 zuul 代理设置,可以说它在端口 8080 上的 运行。所以

   Zuul proxy-
  localhost:8080

我在端口 81 上设置了一个尤里卡服务器 运行。

 Eureka server-
localhost:8081.

我有一个应用程序可以通过名称示例调用它,它是一个 REST Web 服务。它的 运行 在 3 个不同的端口 82,83 和 84 上。所有 3 个实例都在尤里卡服务器上注册。我在 zuul 中为 uri /example 设置了过滤器。

所以我希望消费者在 locahost:8080/example 调用 zuul 代理。

现在,在请求映射/example 的应用示例中,有一个控制器设置。

所以我想做的基本上是让消费者调用 localhost:8080/example 并将该请求路由到 localhost:8082/example,localhost:8083/example,localhost:8084 /例子 。我知道如何使用 ribbon 和 eureka 进行负载平衡,并设置了所有适当的属性来实现这一点。

         zuul.routes.example.serviceid=example

         ribbon.eureka.enabled=true.

我想要做的是让功能区从尤里卡服务器查找 url(s) 的列表,然后调用 localhost:8082/example 而不是 localhost:8082.

这可能吗?

提前致谢。

您需要指定 path & serviceId

zuul:
    routes:
        examplepath:
           path: /example/**
           serviceId: name-example
           stripPrefix: false

serviceId是Eureka注册的名字。希望您在 Zuul 网关中指定 Eureka 服务器详细信息。