博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring cloud构建互联网分布式微服务云平台-断路器聚合监控(Hystrix Turbine)
阅读量:6688 次
发布时间:2019-06-25

本文共 2824 字,大约阅读时间需要 9 分钟。

一、Hystrix Turbine简介

看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。愿意了解源码的朋友直接求求交流分享技术 一七九一七四三三八零

二、准备工作

本文使用的工程为上一篇文章的工程,在此基础上进行改造。因为我们需要多个服务的Dashboard,所以需要再建一个服务,取名为service-lucy,它的基本配置同service-hi,具体见源码,在这里就不详细说明。

三、创建service-turbine

引入相应的依赖:

org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
org.springframework.cloud
spring-cloud-starter-netflix-hystrix-dashboard
org.springframework.cloud
spring-cloud-starter-netflix-turbine
复制代码

在其入口类ServiceTurbineApplication加上注解@EnableTurbine,开启turbine,@EnableTurbine注解包含了@EnableDiscoveryClient注解,即开启了注册服务。

@SpringBootApplication@EnableEurekaClient@EnableDiscoveryClient@RestController@EnableHystrix@EnableHystrixDashboard@EnableCircuitBreaker@EnableTurbinepublic class ServiceTurbineApplication {     /**     * http://localhost:8764/turbine.stream     */     public static void main(String[] args) {        SpringApplication.run( ServiceTurbineApplication.class, args );    }}复制代码

配置文件application.yml:

spring:  application.name: service-turbineserver:  port: 8769security.basic.enabled: falseturbine:  aggregator:    clusterConfig: default   # 指定聚合哪些集群,多个使用","分割,默认为default。可使用http://.../turbine.stream?cluster={clusterConfig之一}访问  appConfig: service-hi,service-la  ### 配置Eureka中的serviceId列表,表明监控哪些服务  clusterNameExpression: new String("default")  # 1. clusterNameExpression指定集群名称,默认表达式appName;此时:turbine.aggregator.clusterConfig需要配置想要监控的应用名称  # 2. 当clusterNameExpression: default时,turbine.aggregator.clusterConfig可以不写,因为默认就是default  # 3. 当clusterNameExpression: metadata['cluster']时,假设想要监控的应用配置了eureka.instance.metadata-map.cluster: ABC,则需要配置,同时turbine.aggregator.clusterConfig: ABCeureka:  client:    serviceUrl:      defaultZone: http://localhost:8761/eureka/复制代码

配置文件注解写的很清楚。

Turbine演示

依次开启server、service-hi、service-la、service-turbine工程。 打开浏览器输入:,

依次请求:

http://localhost:8762/hi?name=whhttp://localhost:8763/hi?name=wh复制代码

打开:,输入监控流

可以看到这个页面聚合了2个service的hystrix dashbord数据。

转载于:https://juejin.im/post/5c6f53186fb9a049d132beff

你可能感兴趣的文章
机器人是如何完成避障的?机器人避障解决方案解读
查看>>
通过错误堆栈信息和源码分析错误来源
查看>>
C和C++ 读写文件速度问题
查看>>
layer.mobile 弹出框插件(2.0版)
查看>>
IDC服务品质协议范本留存
查看>>
在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
查看>>
前端MVC框架 EmberJS总结
查看>>
LVS
查看>>
搭建高可用mongodb集群(三)—— 深入副本集内部机制
查看>>
C#基础 条件语句、选择语句和循环语句
查看>>
15款经典图表软件推荐
查看>>
bugzilla安装笔记
查看>>
记录linux设置定时执行python脚本以及输出到指定文件
查看>>
我的友情链接
查看>>
Hadoop 2.0(YARN/HDFS)学习资料汇总
查看>>
15.汉字的繁简转换 C#
查看>>
Confluence 6 如何考虑设置一个空间的主页
查看>>
hadoop命令执行hbase应用jar包时的环境变量加载问题
查看>>
AndroidTV 网络机顶盒 Wi-Fi设置
查看>>
[精讲-5]BitLocker
查看>>