Hystrix监控数据聚合
来源:互联网 发布:法拉克系统 钻孔 编程 编辑:程序博客网 时间:2024/06/02 06:13
上一篇我们介绍了使用Hystrix Dashboard来展示Hystrix用于熔断的各项度量指标。通过Hystrix Dashboard,我们可以方便的查看服务实例的综合情况,比如:服务调用次数、服务调用延迟等。但是仅通过Hystrix Dashboard我们只能实现对服务当个实例的数据展现,在生产环境我们的服务是肯定需要做高可用的,那么对于多实例的情况,我们就需要将这些度量指标数据进行聚合。下面,在本篇中,我们就来介绍一下另外一个工具:Turbine。
准备工作
在开始使用Turbine之前,我们先回顾一下上一篇中实现的架构,如下图所示:
其中,我们构建的内容包括:
· eureka-server:服务注册中心
· eureka-client:服务提供者
· eureka-consumer-ribbon-hystrix:使用ribbon和hystrix实现的服务消费者
· hystrix-dashboard:用于展示eureka-consumer-ribbon-hystrix服务的Hystrix数据
动手试一试
下面,我们将在上述架构基础上,引入Turbine来对服务的Hystrix数据进行聚合展示。这里我们将分别介绍两种聚合方式。
通过HTTP收集聚合
具体实现步骤如下:
· 创建一个标准的Spring Boot工程,命名为:turbine。
· 编辑pom.xml,具体依赖内容如下:
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Dalston.SR1</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
· 创建应用主类TurbineApplication,并使用@EnableTurbine注解开启Turbine。
@Configuration
@EnableAutoConfiguration
@EnableTurbine
@EnableDiscoveryClient
public class TurbineApplication {
public static void main(String[] args) {
SpringApplication.run(TurbineApplication.class, args);
}
}
· 在application.properties加入eureka和turbine的相关配置,具体如下:
spring.application.name=turbine
server.port=8989
management.port=8990
eureka.client.serviceUrl.defaultZone=http://user:password@localhost:2002/eureka/
#turbine.app-config=RIBBON-CONSUMER,RIBBON-CONSUMER-2
turbine.app-config=eureka-consumer-ribbon-hystrix
turbine.cluster-name-expression="default"
turbine.combine-host-port=true
参数说明
· turbine.app-config参数指定了需要收集监控信息的服务名;
· turbine.cluster-name-expression 参数指定了集群名称为default,当我们服务数量非常多的时候,可以启动多个Turbine服务来构建不同的聚合集群,而该参数可以用来区分这些不同的聚合集群,同时该参数值可以在Hystrix仪表盘中用来定位不同的聚合集群,只需要在Hystrix Stream的URL中通过cluster参数来指定;
· turbine.combine-host-port参数设置为true,可以让同一主机上的服务通过主机名与端口号的组合来进行区分,默认情况下会以host来区分不同的服务,这会使得在本地调试的时候,本机上的不同服务聚合成一个服务来统计。
在完成了上面的内容构建之后,我们来体验一下Turbine对集群的监控能力。分别启动eureka-server、eureka-client、eureka-consumer-ribbon-hystrix、turbine以及hystrix-dashboard。访问Hystrix Dashboard,并开启对http://localhost:8989/turbine.stream`的监控,这时候,我们将看到针对服务`eureka-consumer-ribbon-hystrix`的聚合监控数据。
而此时的架构如下图所示:
- Hystrix监控数据聚合
- Spring Cloud构建微服务架构:Hystrix监控数据聚合
- SpringCloud: 断路器聚合监控(Hystrix Turbine)
- Spring Cloud构建微服务架构:Hystrix监控数据聚合【Dalston版】
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- springboot admin 监控hystrix
- Hystrix监控的配置详解
- Spring Cloud学习--容错机制(Hystrix DashBoard之数据监控)
- 数据聚合 & 分组:新一代系统监控的核心功能
- hystrix 集群监控 turbine 及aop 开发hystrix
- 熔断监控Hystrix Dashboard和Turbine
- SPRINGCLOUD-熔断监控HYSTRIX DASHBOARD和TURBINE
- springcloud-dashboard、turbine监控hystrix的使用
- Mac的终端下用公钥登陆远程linux服务器
- 关于内存泄漏那些事-实战
- 搭建Docker(CentOS7)
- hdu 6140 Hybrid Crystals 思维
- 8.17--练习赛A题--Cow Acrobats
- Hystrix监控数据聚合
- java基础之单例模式
- 构造回文字符串
- 魏新为何需要另案处理?
- 矩阵基础(一)
- 2017年8月17日提高组T1 游戏
- 省市二级联动
- 更改电脑密码以及卸载伽卡他卡学生端
- java并发编程之二