Turbine 通过 Eureka 不知道每个应用的 contextPath

Turbine doesn't know contextPath of each application through Eureka

在 JBoss 上部署 Spring 支持云的微服务时,我们必须使用 contextPath。 Turbine 似乎没有从 eureka 获取 contextPath,eureka 似乎也没有向微服务请求它。

更多细节:

每个微服务都有自己的 Jboss,并且在 war 中定义了自己的 contextPath,例如:

hostname1:port1/products
hostname2:port2/users
hostname3:port3/orders

端点(执行器和我们自己的)在 contextPath 之后公开(不使用 management.context-path):

hostname1:port1/products/env
hostname1:port1/products/info
hostname1:port1/products/books
hostname1:port1/products/books/123

Eureka 只关心主机名和端口。它允许我们为 info 和 health 定义不同的 UrlPath,尽管这不是 Turbine 需要获取的数据的一部分 hystrix.stream:

eureka:
  instance:
    statusPageUrlPath: ${server.contextPath}/info
    healthCheckUrlPath: ${server.contextPath}/health

有没有办法告诉 Turbine 哪个 contextPath 用于哪个应用程序?这些因应用程序而异,因此我认为 描述的集群范围修复是不够的。

您在普通涡轮中一次只能查看一个集群。 spring-cloud-netflix-hystrix-amqp 我们通过 rabbitmq(不是 http)汇总所有统计数据,因此您可以立即看到所有内容。