0

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

更多细节:

每个微服务都有自己的 Jboss,以及在战争中定义的自己的 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 用于哪个应用程序?这些对于每个应用程序都是不同的,所以我想这里描述的集群范围的修复是不够的。

4

1 回答 1

0

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

于 2015-05-26T15:58:33.967 回答