讲述了如何利用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

引入相应的依赖:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<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注解,即开启了注册服务。

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableTurbine
public class ServiceTurbineApplication {
public static void main(String[] args) {
new SpringApplicationBuilder(ServiceTurbineApplication.class).web(true).run(args);
}
}

  配置文件application.yml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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,界面如下:

依次请求:

1
2
3
http://localhost:8762/hi?name=forezp
http://localhost:8763/hi?name=forezp

  架构代码如下:

资料和源码来源地址

Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六

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

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

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

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

  2. Spring Cloud第十三篇: 断路器聚合监控(Hystrix Turbine)

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

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

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

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

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

  5. SpringBoot微服务 b2b2c 多用户商城系统(八)springboot整合mongodb

    2019独角兽企业重金招聘Python工程师标准>>> 准备工作 安装 MongoDB jdk 1.8 maven 3.0 idea 环境依赖 在pom文件引入spring-boot ...

  6. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式...

    目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr实现一个简单的基于.net的微服务 ...

  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存...

    很久没有更新dapr系列了.今天带来的是一个小的组件集成,通过多级缓存框架来实现对服务的缓存保护,依旧是一个简易的演示以及对其设计原理思路的讲解,欢迎大家转发留言和star 目录: 一.通过Dapr实 ...

  8. 通过Dapr实现一个简单的基于.net的微服务电商系统(十七)——服务保护之动态配置与热重载...

    在上一篇文章里,我们通过注入sentinel component到apigateway实现了对下游服务的保护,不过受限于目前变更component需要人工的重新注入配置以及重启应用更新componen ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(十六)——dapr+sentinel中间件实现服务保护...

    dapr目前更新到了1.2版本,在之前4月份的时候来自阿里的开发工程师发起了一个dapr集成Alibaba Sentinel的提案,很快被社区加入到了1.2的里程碑中并且在1.2 release 相关 ...

最新文章

  1. 主流手机OS与鸿蒙OS
  2. 如何在JQuery $ .each函数中编辑全局变量?
  3. [Kafka与Spark集成系列三] Spark编程模型
  4. Pokémon Go火遍全球,开启全民捕捉小精灵的时代
  5. 第三次学JAVA再学不好就吃翔(part29)--代码块
  6. mybatis如何查询主键
  7. 手写一款符合Promise/A+规范的Promise
  8. active mq topic消费后删除_RabbitMQ重复消费,顺序消费,消息丢失如何解决
  9. 使用include实现布局(layout)复用
  10. centos7使用kubeadm搭建kubernetes集群
  11. Julia : “;”和[] 引发的差别
  12. 传感器检测技术——概论
  13. 如果这篇文章说不清epoll的本质,那就过来掐死我吧
  14. android恢复出厂设置流程
  15. 坚果pro android版本,坚果Pro有几个版本 哪个版本好?坚果Pro各版本的区别
  16. 高斯-约当消元法(转)
  17. NullPointerException丢失异常堆栈信息
  18. 【C语言练习】趣味题 疏散
  19. Cadence Orcad Capture 妙用Intersheet Reference页面指示图文教程
  20. QT:SQLite数据库 '增、删、改、查'

热门文章

  1. JWT(JSON Web Token)简介及实现
  2. C和C++安全编码笔记:动态内存管理
  3. Photoshop图像处理操作汇总
  4. 海思3536:交叉编译Qt4.8.4
  5. php判断数组是否存在字符串中,php判断数组元素中是否存在某个字符串的方法
  6. oracle @spool,Oracle spool 用法小结
  7. mysql注入实例获取答案_本文实例讲述了MySQL解决SQL注入的另类方法。分享给大家供大家参考,具体如下:问题解读我觉得,这个问题每年带来的成本可以高达数十亿美元了。本文就来谈谈,...
  8. html整体垂直居中,htmlcss垂直水平居中
  9. python编程代码示例_python编程线性回归代码示例
  10. Redis初学17:集群