上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。
一、Hystrix Turbine简介
看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。了解springcloud架构可以加求求:三五三六二四七二五九,Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。
二、准备工作
本文使用的工程为上一篇文章的工程,在此基础上进行改造。因为我们需要多个服务的Dashboard,所以需要再建一个服务,取名为service-lucy,它的基本配置同service-hi,具体见源码,在这里就不详细说明。
三、创建service-turbine
引入相应的依赖:
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <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-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-turbine</artifactId> </dependency> </dependencies>
在其入口类ServiceTurbineApplication加上注解@EnableTurbine,开启turbine,@EnableTurbine注解包含了@EnableDiscoveryClient注解,即开启了注册服务。
@SpringBootApplication @EnableEurekaClient @EnableDiscoveryClient @RestController @EnableHystrix @EnableHystrixDashboard @EnableCircuitBreaker @EnableTurbine public class ServiceTurbineApplication { /** * http://localhost:8764/turbine.stream */ public static void main(String[] args) { SpringApplication.run( ServiceTurbineApplication.class, args ); } }
配置文件application.yml:
port: 8764
spring:
application:
name: service-turbine
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
management:
endpoints:
web:
exposure:
include: "*"
cors:
allowed-origins: "*"
allowed-methods: "*"
turbine:
app-config: service-hi,service-lucy
aggregator:
clusterConfig: default
clusterNameExpression: new String("default")
combine-host: true
instanceUrlSuffix:
default: actuator/hystrix.stream
配置文件注解写的很清楚。
四、Turbine演示
依次开启eureka-server、service-hi、service-lucy、service-turbine工程。
打开浏览器输入:http://localhost:8764/turbine.stream,界面如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Mprwy3z2-1569837780939)(https://img-blog.csdn.net/20170416135735474?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZm9yZXpw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]
依次请求:
http://localhost:8762/hi?name=forezp
http://localhost:8763/hi?name=forezp
打开:http://localhost:8763/hystrix,输入监控流http://localhost:8764/turbine.stream
点击monitor stream 进入页面:
可以看到这个页面聚合了2个service的hystrix dashbord数据。
相关推荐
第二课: 服务消费者(rest+ribbon) 第三课: 服务消费者(Feign) 第四课: 断路器(Hystrix... 第十二课: 断路器监控(Hystrix Dashboard) 第十三课: 断路器聚合监控(Hystrix Turbine) 第十四课: 服务注册(consul)
史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本) 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)(Finchley版本) 史上最简单的SpringCloud教程 | ...
2. **SpringCloud简介**:SpringCloud是基于Spring Boot的微服务工具集,它为开发者提供了在分布式系统(配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群...
在微服务架构中,Spring Cloud是一个非常重要的框架集合,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线等)中快速构建一些常见模式的能力。本篇文章将聚焦于Spring ...
它提供了包括服务发现、配置管理、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等在内的一系列功能。在本文中,我们将深入探讨 SpringCloud 的核心组件以及如何搭建一...
在微服务架构中,Spring Cloud Hystrix 是一个关键组件,用于实现服务容错和断路器模式。Hystrix Dashboard 和 Turbine 是配套的监控工具,帮助开发者实时监控服务的运行状态,确保系统的稳定性和高可用性。下面将...
本文将深入探讨如何利用SpringCloud分布式微服务架构和微信小程序技术,构建一个高效、稳定且用户友好的短视频社交平台。我们将围绕核心的技术组件,如Eureka、Zuul、Hystrix、Config Server以及微信小程序API,进行...
Spring Cloud Finchley是Spring Cloud的一个重要版本,它提供了一套微服务开发的工具集,用于构建分布式系统,如服务发现、配置管理、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式...
使用spring cloud代建完整的分布式微服务架构,包括spring security oauth2权限控制,docker,config动态修改配置文件,eureka服务发现,zuul路由,实现服务和服务之间的调用。等等
Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。 有spring cloud b2b2c电子商务需求的朋友可以加企鹅求求:一零三八七七四六二六 二、准备工作 本文的的来源于第一篇文章的栗子,...
在分布式系统中,Spring Cloud Hystrix 是一个关键的组件,它作为一个断路器来防止服务雪崩。断路器模式是微服务架构中的一个重要概念,用于提高系统的容错性和稳定性。下面我们将深入探讨 Spring Cloud Hystrix 的...
使用spring cloud代建完整的分布式微服务架构,包括spring security oauth2权限控制,docker,config动态修改配置文件,eureka服务发现,zuul路由,实现服务和服务之间的调用
一、断路器简介 Netflix has created a library called Hystrix that implements the circuit breaker pattern. In a microservice architecture it is common to have multiple layers of service calls. —-摘自...
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线等)中快速构建一些常见模式的能力。Spring Cloud Netflix...
总的来说,Hystrix Dashboard是Spring Cloud微服务架构中不可或缺的一部分,它提供了一种强大的方式来监控和管理断路器的执行,确保了系统的高效和健壮。正确配置和使用Hystrix Dashboard,可以极大地帮助开发团队...
本文将深入探讨标题" Ideal版SpringCloud框架参考---分布式微服务架构参考"所涵盖的关键知识点,并结合描述中的组件进行详细解析。 首先,Eureka是Spring Cloud中的服务注册与发现组件。它允许微服务实例向中心...
Spring Cloud 是一套微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等)中常用模式的快速实现...