代码信息

本篇文章涉及代码版本

组件 版本
Spring Boot 2.0.8.RELEASE
Spring Cloud Finchley.SR1

本篇文章涉及应用

应用 说明
base-eureka 服务发现
base-producer 服务提供方
base-hystrix-cluster 熔断器集群
base-hystrix-turbine 熔断器集群数据监视

集群数据的监控

之前在Hystrix使用dashboard的时候说过对集群的监控只有等我们引入Turbine 组件之后才能使用,那么今天就尝试把Turbine 组件引入Hystrix

在之前我们需要把之前编写的base-hystrix进行修改,变更成多个服务集群的base-hystrix-cluster项目。修改后的配置文件

spring:profiles: hystrix1application:name: base-hystrix-cluster
server:port: 8405eureka:client:service-url: defaultZone: http://localhost:8000/eureka/
logging:file: ${spring.application.name}.log# 配置监控端点
management:endpoints:web:exposure:# 默认配置中只有"health","info",假如不进行hystrix.stream这个参数配置会出现无法连接情况include: ["health","info","hystrix.stream"]---spring:profiles: hystrix2application:name: base-hystrix-cluster
server:port: 8406eureka:client:service-url:defaultZone: http://localhost:8000/eureka/
logging:file: ${spring.application.name}.log# 配置监控端点
management:endpoints:web:exposure:# 默认配置中只有"health","info",假如不进行hystrix.stream这个参数配置会出现无法连接情况include: ["health","info","hystrix.stream"]
---spring:profiles: hystrix3application:name: base-hystrix-cluster
server:port: 8407eureka:client:service-url:defaultZone: http://localhost:8000/eureka/
logging:file: ${spring.application.name}.log# 配置监控端点
management:endpoints:web:exposure:# 默认配置中只有"health","info",假如不进行hystrix.stream这个参数配置会出现无法连接情况include: ["health","info","hystrix.stream"]

引入Turbine组件

构建maven依赖

首先需要引入的依赖

    <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>

参数配置application.yml

base-hystrix-turbine的配置需要指定监控的服务base-hystrix-cluster,以及给这个监控提供一个自定义的名称

spring:application:name: base-hystrix-turbine
server:port: 8410eureka:client:service-url: defaultZone: http://localhost:8000/eureka/
logging:file: ${spring.application.name}.log
turbine:
# 指定了需要收集监控信息的服务名app-config: base-hystrix-cluster# 此集群监控的名字cluster-name-expression: new String("default")# 让同一主机上的服务通过主机名与端口号的组合来进行区分combine-host-port: true

代码编写

启动类上需要配置@EnableTurbine注解这个时候一个简单的集群监控系统就完成了。

@EnableTurbine
@EnableEurekaClient
@SpringBootApplication
public class HystrixTurbineApplication {public static void main(String[] args) {SpringApplication.run(HystrixTurbineApplication.class, args);}
}

测试

现在让我们测试一下目前这些个配置是否发挥了作用

启动数据监视器

因为这次的项目都没有开启@EnableHystrixDashboard所以我们还是用之前的base-hystrix-dashboard的项目。
我们访问base-hystrix-dashboard项目的/hystrix可以看到熟悉的页面。

这次我们监控的内容修改为base-hystrix-turbine项目的turbine.stream地址,然后可以进入下面的页面


然后我们依次访问base-hystrix-cluster项目的三个应用接口会发现无论访问那一个都会被系统监控到。

到目前为止看起来Turbine开始发挥作用了。

需要注意的是,dashboard监控的原理是因为hystrix接口实现使用了@HystrixCommand修饰,所以这个接口的调用情况会被Hystrix记录下来。所以你上面的接口假如并没有被这个注解修饰,使用dashboard就什么都看不到了


本篇文章并未贴出所有代码,涉及的源码下载地址:https://gitee.com/daifylearn/cloud-learn

ps.上述的所有项目都是可以成功运行的。但是在后期为了实现每个应用端口尽量不冲突会有些许调整,而后续某次作死调整结构和名称可能会导致部分项目无法运行o(╯□╰)o,如果发现请留言我进行修改。

Spring Cloud 入门——6.1 Turbine 集群数据监控相关推荐

  1. turbine 集群聚合监控

    目录 一.turbine介绍 二.turbine配置 1.当前项目环境说明 2.turbine环境配置 (1)创建项目 (2)编辑pom (3)编辑yml (4)编辑主程序 (5)测试集群监控 3.项 ...

  2. 【Spring Cloud笔记】 Eureka通过集群实现高可用

    Eureka实现服务注册与发现,在Spring Cloud微服务中起着关键性的作用,必须保障其高可用,常规方案无非通过集群实现.这里在本地机器搭建一个伪集群环境,通过两个节点实现相互注册,并通过主备数 ...

  3. Spring Cloud中Hystrix仪表盘与Turbine集群监控

    Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的 ...

  4. Spring Cloud中Hystrix仪表盘与Turbine集群监控 1

    Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的 ...

  5. Spring Cloud Turbine集群监控一直Loading问题

    这是最近在 学习Spring Cloud 按照书或者网上的例子敲示例遇到的问题,这个问题网上有很多答案,但是我遇到的问题和其他人不同, 如果你也遇到类似问题,希望下面的解决方法能帮助到你 问题描述: ...

  6. Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Sentinel简介 安装Sentinel控制台 创建sentinel-service模块 限流功能 创建RateLimitController类 ...

  7. Spring Cloud入门-Config分布式配置中心(Hoxton版本)

    文章目录 Spring Cloud入门系列汇总 摘要 Spring Cloud Config 简介 在Git仓库中准备配置信息 配置仓库目录结构 master分支下的配置信息 dev分支下的配置信息 ...

  8. Spring Cloud 入门 之 Zuul 篇(五)

    一.前言 随着业务的扩展,微服务会不对增加,相应的其对外开放的 API 接口也势必增多,这不利于前端的调用以及不同场景下数据的返回,因此,我们通常都需要设计一个 API 网关作为一个统一的 API 入 ...

  9. Spring Cloud 入门 之 Eureka 篇(一)

    一.前言 Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据 ...

最新文章

  1. 学习JS面向对象成果,借国庆发布个最新作品与大家交流
  2. 同一台服务器上面安装多个mysql数据库
  3. jquery 判断元素显示或隐藏
  4. 完整的WebApplication JSF EJB JPA JAAS –第2部分
  5. php prepare 批量,PreparedStatement批处理
  6. 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较
  7. 苹果Mac Studio 3月18日发售 但法国一用户已提前收货
  8. 猎豹移动回应被谷歌下架:积极整改情况下被单方面下架
  9. 【Spring】HttpMessageConverter的作用及替换
  10. 启动Eureka客户端服务时报错:java.net.ConnectException: Connection refused:connect
  11. 如何清除你的DNS缓存
  12. 简易CPU的C++实现
  13. Day04_绘制矩形
  14. Android架构 armeabi、armeabi-v7a、arm64-v8a、x86详解
  15. 合并多个DataTable统计数据
  16. 拉登是我罩的队_软件需求规格说明书
  17. Tmall商城系统后台管理订单模块分析
  18. windows server关闭系统自动更新
  19. Mac下编写C或C++
  20. Flash 多人在线游戏教程 - TicTacToe

热门文章

  1. Android9 ab系统OTA升级总结
  2. 红信圈是如何重新定义广告传播途径的
  3. 20150129 N2 成绩133 合格!
  4. 微服务的几种负载均衡算法
  5. coredump文件的生成以及如何调试coredump文件?
  6. gis是一门集计算机科学,gis是什么_GIS技术对生活生产有什么作用
  7. 烘干机设备选择技巧,广州奥伯特烘干机精心介绍
  8. GridView中BoundField类型列的改行方法
  9. 让机器说话(文字转美女语音,擅长中英文哦),大小600K(免费下载)!
  10. 辐射76角色扮演Steam游戏简体中文版下载