Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
本实例是在consul做为服务发现时的配置。
Turbine聚合器:
可以参照:https://springcloud.cc/spring-cloud-consul.html 的最后作为参照
1、pom 引入
<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>
2、配置文件
turbine: appConfig: clientdemo,servicedemo clusterNameExpression: new String('default')
3、类文件
@EnableTurbine @EnableDiscoveryClient @SpringBootApplication @EnableHystrix @EnableHystrixDashboard @RestController public class TurbineApplication { public static void main(String[] args){ SpringApplication.run(TurbineApplication.class, args);} }
EnableHystrixDashboard Hystrix仪表板显示每个断路器的健康高效的方式,是一种更直观的方式
Turbine客户(监控的对象)
1、pom引入
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency>
2、配置文件
无
3、类文件:
@EnableHystrix
Demo地址:http://git.oschina.net/zhou666/spring-cloud-7simple/tree/master/cloud-hystrix-turbine
hystrix-turbine集成了hystrix看板和 turbine,用来监控实现了hystrix的工程项目:
每一个监控项目的具体解释:
原本的hystrix看板只能监控一台服务器上的服务调用情况,使用了turbine后就可以监控多台服务器的情况。Turbine原理如下:
2. 主要配置文件
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
配置文件:
eureka:
instance:
leaseRenewalIntervalInSeconds: 10 #心跳间隔
client:
registerWithEureka: true #注册本工程为服务
fetchRegistry: true
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #注册服务器地址
turbine:
aggregator:
clusterConfig: CLOUD-SIMPLE-SERVICE #turbine监控的服务名称,可以多个
appConfig: cloud-simple-service #turbine监控的服务,可以有多个
clusterNameExpression: metadata['cluster']
3. 启动与调试
启动应用输入http://localhost:8989/hystrix会看到hystrix面板,在这个面板里的监控url输入,http://localhost:8989/turbine.stream??cluster=CLOUD-SIMPLE-SERVICE,其中cluster对应配置文件中clusterConfig中的名称。