上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。

一、Hystrix Turbine简介

看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。

二、准备工作

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

三、创建service-turbine

引入相应的依赖:

<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-turbine</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-netflix-turbine</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

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

@SpringBootApplication
@EnableTurbine
public class ServiceTurbineApplication {public static void main(String[] args) {new SpringApplicationBuilder(ServiceTurbineApplication.class).web(true).run(args);}
}

配置文件application.yml:

spring:application.name: service-turbine
server:port: 8769
security.basic.enabled: false
turbine:aggregator:clusterConfig: default   # 指定聚合哪些集群,多个使用","分割,默认为default。可使用http://.../turbine.stream?cluster={clusterConfig之一}访问appConfig: service-hi,service-lucy  ### 配置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: ABC
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/

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

四、Turbine演示

依次开启eureka-server、service-hi、service-lucy、service-turbine工程。

打开浏览器输入:http://localhost:8769/turbine.stream,界面如下:

依次请求:

http://localhost:8762/hi?name=forezp

http://localhost:8763/hi?name=forezp

打开:http://localhost:8763/hystrix,输入监控流http://localhost:8769/turbine.stream

点击monitor stream 进入页面:

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

源码下载:
https://github.com/forezp/SpringCloudLearning/tree/master/chapter13

五、关注我

Spring Cloud第十三篇: 断路器聚合监控(Hystrix Turbine)相关推荐

  1. 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)

    转:https://blog.csdn.net/forezp/article/details/70233227 上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix ...

  2. java springcloud版b2b2c社交电商spring cloud分布式微服务(十三)断路器聚合监控(Hystrix Turbine)...

    Spring cloud b2b2c电子商务社交平台源码请加企鹅求求:一零三八七七四六二六.讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command.当我们有很多个 ...

  3. JAVA springboot微服务b2b2c电子商务系统(十三)断路器聚合监控(Hystrix Turbine)

    讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command.当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了.这就需要用到S ...

  4. spring cloud构建互联网分布式微服务云平台-断路器聚合监控(Hystrix Turbine)

    一.Hystrix Turbine简介 看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbi ...

  5. Spring Cloud笔记 中级篇

    Hystrix(豪猪哥)断路器 背景分析 我们微服务的出现满足了高内聚低耦合的设计思想.这样固然是好的,但随之而来的是微服务的不断增多,经常会出现80端口调用8001,8001再去调用8002,800 ...

  6. Spring Cloud学习笔记【十二】Hystrix的使用和了解

    Spring Cloud学习笔记[十二]Hystrix的使用和了解 Hystrix [hɪst'rɪks],中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力.本文所说的Hystrix是Net ...

  7. hystrix 全局熔断_跟我学Spring Cloud(Finchley版)14Feign使用Hystrix

    Feign默认已经整合了Hystrix,本节详细探讨Feign使用Hystrix的具体细节. 服务降级 1 加配置,默认Feign是不启用Hystrix的,需要添加如下配置启用Hystrix,这样所有 ...

  8. spring cloud之Turbine断路器聚合监控(十二)

    一.博客背景 上一章讲解了针对一个微服务的断路器监控,但是微服务通常会是多个实例组成的一个集群. 倘若集群里的实例比较多,难道要挨个挨个去监控这些实例吗? 何况有时候,根据集群的需要,会动态增加或者减 ...

  9. Spring Cloud(五)断路器监控(Hystrix Dashboard)

    在上两篇文章中讲了,服务提供者 Eureka + 服务消费者 Feign,服务提供者 Eureka + 服务消费者(rest + Ribbon),本篇文章结合,上两篇文章中代码进行修改加入 断路器监控 ...

最新文章

  1. 通过BeanShell获取UUID并将参数传递给Jmeter
  2. linux 下取进程占用 cpu/内存 最高的前10个进程
  3. Nginx的安装配置
  4. 【笔记】与Android选项卡一周
  5. SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发
  6. 使用格式工厂把视频进行旋转
  7. python合并两个数据框_python 学习的第五天 数据框合并
  8. java 面试题三十二 mysql查询面试题
  9. Git pull 错误:fatal: refusing to merge unrelated histories解决办法
  10. [Linux主机] 优化你的php-fpm(php5.3+)让你的网站跑得更快
  11. 求职华为,被问观察者模式,从没有这种体验!!!
  12. 扩增子和宏基因组数据分析流程和可视化方案—刘永鑫(南京,2020年10月27日)
  13. Mac废纸篓批量还原的方法
  14. 【LeetCode题解】排序
  15. 软件测试的艺术读书笔记<转>
  16. Python实现B站MP4格式音频与视频的合并!超详细的教程!
  17. 在VT上搜索恶意软件
  18. 解决tuple index out of range
  19. c语言fseek128字节,你知道C语言是如何处理fseek()和ftell()这两个I/O随机访问数吗?...
  20. Android音视频开发,详说PCM音频重采样、PCM编码

热门文章

  1. HTML5-用canvas画布rotate字体旋转(中国象棋棋谱)。
  2. C语言回溯算法解决N皇后问题
  3. jackson 解析json问题
  4. windows 内存泄露和资源泄漏调试
  5. 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
  6. 【组队学习】【28期】基于transformers的自然语言处理(NLP)入门
  7. 【组队学习】【27期】动手学数据分析
  8. 刻意练习:LeetCode实战 -- 二叉树的后序遍历
  9. 刻意练习:Python基础 -- Task11. 魔法方法
  10. LeetCode实战:两数之和