一、Hystrix Turbine简介
看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看多个系统或集群系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。
二、准备工作
因为我们需要监控多个服务的Dashboard,所以需要搭建一个Turbine服务来聚合监控 Hystrix 断路器,取名为spring-cloud-hystrix-turbine。了解springcloud架构可以加求求:三五三六二四七二五九
三、创建spring-cloud-hystrix-turbine
1、引入pom依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <artifactId>spring-cloud-hystrix-turbine</artifactId> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-config</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.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-turbine</artifactId> <exclusions> <exclusion> <groupId>org.springframework.cloud</groupId> <artifactId> spring-cloud-starter-netflix-eureka-client </artifactId> </exclusion> </exclusions> </dependency> </dependencies> </project>
2、配置文件application.yml
spring: application: name: spring-cloud-hystrix-turbine cloud: consul: discovery: prefer-ip-address: true instanceId: ${spring.application.name}:${server.port} host: localhost port: 8500 server: port: 8810 turbine: aggregator: #监控所有微服务集群 #hytrix仪表盘:http://localhost:8810/hystrix/ #监控地址:http://localhost:8810/turbine.stream #在hystrix仪表盘中监控上面的地址即可 clusterConfig: default #要监控的微服务serviceId appConfig: mcc-feign-hystrix,mcc-ribbon-hystrix,mcc-ribbon-hystrix-propagating clusterNameExpression: "'default'"
3、TurbineApplication——Turbine入口程序
package com.lynch.consumer.turbine; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard; import org.springframework.cloud.netflix.turbine.EnableTurbine; @SpringBootApplication //开启Turbine支持,用来进行集群监控 @EnableTurbine //开启Hystrix仪表盘 @EnableHystrixDashboard public class TurbineApplication { public static void main(String[] args) { SpringApplication.run(TurbineApplication.class, args); } }
四、Turbine演示
依次开启mcc-feign-hystrix、mcc-ribbon-hystrix、mcc-ribbon-hystrix-propagating、spring-cloud-hystrix-turbine工程。
打开浏览器输入:http://localhost:8810/turbine.stream,界面如下:
依次多次请求:
http://localhost:8807/ribbon/get/aa
http://localhost:8808/feign1/get/aa
hystrix断路器生效。
打开:http://localhost:8810/hystrix/,输入监控流http://localhost:8810/turbine.stream
点击monitor stream 进入页面:
可以看到这个页面聚合了2个service的hystrix dashbord数据。
相关推荐
Hystrix Dashboard 和 Turbine 是配套的监控工具,帮助开发者实时监控服务的运行状态,确保系统的稳定性和高可用性。下面将详细介绍这两个工具的功能、使用方法以及集成步骤。 **Hystrix Dashboard** Hystrix ...
结合 Hystrix Dashboard,Turbine Web 可以让开发者看到整个微服务集群的综合监控视图,而不仅仅是单个实例的情况。 使用 `Hystrix-dashboard` 和 `turbine-web` 集成,你需要完成以下步骤: 1. **配置 Hystrix**...
Spring Cloud 断路器集群监控(Turbine)知识点总结 在 Spring Cloud 中,断路器集群监控是指对多个服务实例的监控信息进行聚合和展示,以便更好地管理和维护分布式系统。在本文中,我们将详细介绍 Spring Cloud 断路...
总的来说,处理Hystrix监控异常需要对Spring Cloud Hystrix和Turbine有深入的理解,同时具备一定的排查问题和调试能力。通过本文的介绍,以及"附件"提供的资源,相信你可以顺利解决Hystrix监控异常,保障微服务架构...
springcloud高版本的整合:包括eureka注册中心、feign、zuul、ribbon、hystrix、turbine监控,如有需要后续上传sleuth+elk、config服务集群、admin等demo,这些资源都是我亲自编写,绝对可用
Hystrix Dashboard用于单个应用的实时监控,而Turbine则负责聚合多个服务的监控信息,提供全局视图。这两个工具的使用有助于开发者及时发现和处理服务异常,提升系统的整体稳定性。在实际开发中,结合Eureka、Zuul等...
hystrix,熔断 turbine Spring Cloud Starters 同一个服务中的多数据库支持(AOP) 全链路traceId追踪 velocity 前端模板 mybatis, pageHelper (分页), druid (连接池) redis(序列化采用的是jdk默认序列化方案) ...
在微服务架构中,Hystrix Dashboard 和 Turbine 是两个重要的工具,用于监控服务的健康状态和性能。本文将深入探讨这两个组件,并结合提供的源代码,解析它们在实际项目中的应用。 **Hystrix Dashboard** Hystrix ...
hystrix turbine 服务监控 服务降级
Hystrix Dashboard支持对单个服务实例以及整个服务集群的监控。 首先,为了设置Hystrix Dashboard,你需要创建一个新的模块,如`hystrix-dashboard`,并在`pom.xml`中添加必要的依赖,包括`spring-cloud-starter-...
1. **turbine**: 这可能是一个实现Netflix Turbine的项目,Turbine是Spring Cloud的一个组件,用于聚合微服务实例的Hystrix指标,如健康状况、请求速率等,提供一个统一的监控视图。 2. **eureka-server**: Eureka是...
2. **配置Hystrix**:在`application.yml`或`application.properties`中,配置Hystrix的超时时间、线程池大小等参数,以及Turbine的聚合策略,通常会设置成`cluster`模式,以便收集同一集群的服务数据。 3. **添加...
Spring Cloud 也集成了一些现成的监控工具,如 Turbine 和 Hystrix Dashboard,便于对多个服务实例上的 Hystrix 监控数据进行聚合和可视化。 通过上述步骤,我们不仅能够在微服务架构中有效利用 Hystrix 实现服务...
Hystrix 提供了一个强大的监控工具——Hystrix Dashboard,用于实时展示服务的运行状况和断路器的状态。通过 Hystrix Metrics Stream,我们可以将服务的指标暴露出来,以便于监控和诊断。此外,Turbine 可以聚合多个...
5. **启用监控**:引入 Hystrix Dashboard 和 Turbine,配置监控端点,并在浏览器中访问监控界面查看服务状态。 在 `SpringCloudDemo-Hystrix` 压缩包中,通常包含了示例代码,演示了如何在 Spring Boot 应用中配置...
Turbine 可以与 Hystrix、Eureka 等组件集成,提供了更加全面的监控功能。 pom.xml 文件解析 在 pom.xml 文件中,我们可以看到以下关键依赖项: * `spring-cloud-starter-netflix-hystrix-dashboard`:依赖 ...
6. **集成监控**:集成Hystrix Dashboard和Turbine,实现对Hystrix指标的可视化监控。 通过以上步骤,我们可以有效地利用Spring Cloud Netflix Hystrix构建一个健壮的微服务架构,增强系统的容错性,确保在面临高...
Turbine是Spring Cloud的一个子项目,主要功能是聚合Hystrix Dashboard上多个Hystrix Stream的流数据,以便于统一监控和管理分布式系统中的服务状态。在微服务架构中,每个服务可能有多个实例运行,而Hystrix Stream...
这些数据可以通过 Hystrix Dashboard 和 Turbine 集中展示,帮助开发者实时了解服务的健康状况,及时发现和解决问题。 四、Hystrix 在 Spring Cloud 中的应用 在 Spring Cloud 中,Hystrix 可以轻松集成到微服务...