共计 1801 个字符,预计需要花费 5 分钟才能阅读完成。
1、用 Turbine 聚合监控数据
Hystrix Dashboard 实现了数据监控,但是只能看到单个应用内的服务信息,Netflix 提供了 Turbine,可以把多个 ”hystrix.stream” 的内容聚合为一个数据源供 Dashboard 展示。
1.1、添加依赖并启用支持
1.1.1、创建多个 ” 服务提供者 ”
复制项目,修改应用名称和端口号
1.1.2、创建多个 ” 服务消费者 ”
复制 Feign 项目,修改应用名称和端口号
1.1.3、创建 Turbine 工程
1、添加 Turbine 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--Hystrix 的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
<!--Actuator 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--Hystrix 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--Turbine 依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
2、配置 Turbine 支持
在启动类上添加注解 @EnableTurbine,以激活 Turbine 的支持。
@SpringBootApplication
@EnableDiscoveryClient
@EnableCircuitBreaker // 开启熔断器
@EnableHystrixDashboard
@EnableTurbine // 开启 Turbine
public class HystrixSpringcloudApplication {public static void main(String[] args) {SpringApplication.run(HystrixSpringcloudApplication.class, args);
}
}
3、配置多个监控
spring.application.name=turbine
server.port=50009
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://eureka01:50001/eureka/,http://eureka02:50002//eureka/
#开启支持
feign.hystrix.enabled=true
#配置 "服务中心" 的 serviceid 列表,表明监控哪个 dashboard
turbine.app-config=hystrix1,hystrix2
#集群名称表达式, 默认为应用名
turbine.cluster-name-expression=new String("default")
4、启动 ” 服务提供者 ” 和 ” 服务消费者 ”
5、测试 Turbin 聚合监控
-
输入 http://localhost:50009/hystrix
-
再输入 http://localhost:50009/turbine.stream 点击 Monitor Stream
正文完
星哥玩云-微信公众号