Spring Cloud 入门——6.1 Turbine 集群数据监控
代码信息
本篇文章涉及代码版本
组件 | 版本 |
---|---|
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 集群数据监控相关推荐
- turbine 集群聚合监控
目录 一.turbine介绍 二.turbine配置 1.当前项目环境说明 2.turbine环境配置 (1)创建项目 (2)编辑pom (3)编辑yml (4)编辑主程序 (5)测试集群监控 3.项 ...
- 【Spring Cloud笔记】 Eureka通过集群实现高可用
Eureka实现服务注册与发现,在Spring Cloud微服务中起着关键性的作用,必须保障其高可用,常规方案无非通过集群实现.这里在本地机器搭建一个伪集群环境,通过两个节点实现相互注册,并通过主备数 ...
- Spring Cloud中Hystrix仪表盘与Turbine集群监控
Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的 ...
- Spring Cloud中Hystrix仪表盘与Turbine集群监控 1
Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的 ...
- Spring Cloud Turbine集群监控一直Loading问题
这是最近在 学习Spring Cloud 按照书或者网上的例子敲示例遇到的问题,这个问题网上有很多答案,但是我遇到的问题和其他人不同, 如果你也遇到类似问题,希望下面的解决方法能帮助到你 问题描述: ...
- Spring Cloud入门-Sentinel实现服务限流、熔断与降级(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Sentinel简介 安装Sentinel控制台 创建sentinel-service模块 限流功能 创建RateLimitController类 ...
- Spring Cloud入门-Config分布式配置中心(Hoxton版本)
文章目录 Spring Cloud入门系列汇总 摘要 Spring Cloud Config 简介 在Git仓库中准备配置信息 配置仓库目录结构 master分支下的配置信息 dev分支下的配置信息 ...
- Spring Cloud 入门 之 Zuul 篇(五)
一.前言 随着业务的扩展,微服务会不对增加,相应的其对外开放的 API 接口也势必增多,这不利于前端的调用以及不同场景下数据的返回,因此,我们通常都需要设计一个 API 网关作为一个统一的 API 入 ...
- Spring Cloud 入门 之 Eureka 篇(一)
一.前言 Spring Cloud 是一系列框架的有序集合.它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载均衡.断路器.数据 ...
最新文章
- 学习JS面向对象成果,借国庆发布个最新作品与大家交流
- 同一台服务器上面安装多个mysql数据库
- jquery 判断元素显示或隐藏
- 完整的WebApplication JSF EJB JPA JAAS –第2部分
- php prepare 批量,PreparedStatement批处理
- 消息中间件kafka与activeMQ、rabbitMQ、zeroMQ、rocketMQ的比较
- 苹果Mac Studio 3月18日发售 但法国一用户已提前收货
- 猎豹移动回应被谷歌下架:积极整改情况下被单方面下架
- 【Spring】HttpMessageConverter的作用及替换
- 启动Eureka客户端服务时报错:java.net.ConnectException: Connection refused:connect
- 如何清除你的DNS缓存
- 简易CPU的C++实现
- Day04_绘制矩形
- Android架构 armeabi、armeabi-v7a、arm64-v8a、x86详解
- 合并多个DataTable统计数据
- 拉登是我罩的队_软件需求规格说明书
- Tmall商城系统后台管理订单模块分析
- windows server关闭系统自动更新
- Mac下编写C或C++
- Flash 多人在线游戏教程 - TicTacToe