使用 Turbine 和 Consul 进行 71. Hystrix metrics 聚合

Turbine(由 Spring Cloud Netflix 项目提供)聚合多个实例 Hystrix metrics 流,因此仪表板可以显示聚合视图。 Turbine 使用DiscoveryClient接口查找相关实例。要将 Turbine 与 Spring Cloud Consul 一起使用,请以类似于以下示例的方式配置 Turbine application:

pom.xml.

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

请注意 Turbine 依赖项不是 starter。 turbine starter 包括对 Netflix Eureka 的支持。

application.yml.

spring.application.name: turbine
applications: consulhystrixclient
turbine:
  aggregator:
    clusterConfig: ${applications}
  appConfig: ${applications}

clusterConfigappConfig部分必须 match,因此将 comma-separated 服务 ID 列表放入单独的 configuration property 中非常有用。

Turbine.java.

@EnableTurbine
@SpringBootApplication
public class Turbine {
    public static void main(String[] args) {
        SpringApplication.run(DemoturbinecommonsApplication.class, args);
    }
}