Turbine概述

Turbine真正做的,就是将每一个(指定)服务的Hystrix/stream中的状态信息取出,并集中处理(计算与展示),应该说,它是具有自己独立的调度的,服务(实例)发现,服务连接,数据聚合,数据输出,共四个过程。

如上图: Turbine首先通过InstanceDiscovery模块获取所有的实例信息(定期更新获取),ConnectionManager 负责连接到实例,连接上实例后,便会有源源不断的数据流发送给聚合器Aggregator之后,再传送给需要的地方。

使用Turbine聚合监控

在使用HystrixDashboard组件监控服务的熔断器状况时,每个服务都有一个HystrixDashboard主页,当服务数量很多时,监控非常不方便。为了同时监控多个服务的熔断器的状况,Netflix 开源了Hystrix 的另一个组件Turbine。Turbine 用于聚合多个Hystrix Dashboard,将多个Hystrix Dashboard组件的数据放在一个页面 上展示,进行集中监控。

依赖:

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

配置:

spring:application:name: service-turbineserver:port: 8769turbine:aggregator:clusterConfig: default #指定聚合哪些集群,多个使用","分割,默认为default。可使用http://.../turbine.stream?cluster={clusterConfig}访问app-config: eureka-ribbon-client,eureka-feign-client #配置Eureka中的serveceId列表,表明监控哪些服务cluster-name-expression: new String("default")# 1. ClusterNameExpression:指定集群名称,默认表达式appName;此时trubine.aggregatro.clusterConfig需要配置想要监控的应用名称# 2. 当ClusterNameExpression:default时,turbine.aggregator.clusterConfig可以不写,因为默认就是default# 3. 当ClusterNameExpression:metadata['cluster']时,假设想要监控的应用配置了#    eureka.instance.metadata-map.cluster:ABC,则需要配置,同时turbine.aggregator.clusterConfig:ABCeureka:client:service-url:defaultZone: http://localhost:8761/eureka/
  • turbine.aggregator.clusterConfig配置了需要监控的服务名
  • clusterNameExpression默认为服务名的集群,此时用默认的即可
  • turbine.aggregator.clusterConfig默认就是default

示例:

turbine:aggregator:clusterConfig:CLOUD_SIMPLE_SERVICE appConfig:cloud-simple-serviceclusterNameExpression:metadata['cluster']在hystrix dashboard的监控url中就应该输入:
http://localhost:port/turbine.stream?cluster=CLOUD-SIMPLE-SERVICE
cluster对应clusterConfig中的名称

开启turbine

@SpringBootApplication
@EnableTurbine//开启trubine
public class EurekaMonitorClientApplication {public static void main(String[] args) {SpringApplication.run(EurekaMonitorClientApplication.class, args);}
}

启动工程eureka-server、eureka-client、 eureka-ribbon-client 和eureka-monitor -client。

在浏览器上访问http://localhost:8764hi?name-forezp和ht:/calhost:8765/hi?name=forezpo
在浏览器上打开网址htp://localhost:8765/hystrix,这个界面为Hystrix Dashboard界面。

在界面上依次输入监控流的Url地址htp://localhost:8769/turbine.stream、监控时间间隔2000毫秒和title,单击“monitor”,可以看到如图

这个页面聚合了eureka-ribbon-client和eureka-feign-client的Hystrix Dashboard数据。

使用Turbine聚合监控相关推荐

  1. SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝 ...

  2. SpringCloud:Hystrix 熔断机制(基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

    所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢?当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示, ...

  3. SpringCloud配置之:Turbine聚合监控

    Turbine聚合监控 一.搭建监控模块 1. 创建监控模块 创建hystrix-monitor模块,使用Turbine聚合监控多个Hystrix dashboard功能, 2. 引入Turbine聚 ...

  4. Turbine聚合监控

    Turbine聚合监控 一.搭建监控模块 1. 创建监控模块 创建hystrix-monitor模块,使用Turbine聚合监控多个Hystrix dashboard功能, 2. 引入Turbine聚 ...

  5. Hystrix Turbine聚合监控

    之前,我们针对的是一个微服务实例的Hystrix数据查询分析,在微服务架构下,一个微服务的实例往往是多个(集群化). 比如自动投递微服务 实例1(hystrix) ip1:port1/actuator ...

  6. 使用Turbine聚合监控数据

    一.使用Turbine聚合监控数据 使用/hystrix.stream端点监控单个微服务实例.然而,使用微服务架构的应用系统一般会包含若干微服务,每个微服务通常都会部署多个实例.如果每次只能查看单个实 ...

  7. 使用 Turbine 聚合监控

    在使用 Hystrix Dashboard 组件监控服务的熔断状况时,每个服务都有一个 Hystrix Dashboard 主页,当服务数量很多时相当不方便.为了同时监控多个服务的熔断器的状态,可以使 ...

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

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

  9. turbine 集群聚合监控

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

最新文章

  1. Centos7上yum安装mongodb(安装epel中的版本可能会比较老)
  2. codevs1002 搭桥
  3. 控件不能与用户交互的原因
  4. android中互斥的控件,Android控件之Radiobutton与RadioGroup
  5. Java截取视频文件缩略图
  6. ubuntu切换用户root时认证失败
  7. Java中 IO 常用操作
  8. Nero 9 Lite
  9. SBUS2 协议初探
  10. 计算机 大管家 说课稿,精选信息技术说课稿模板集锦九篇
  11. sql 查询in的集合元素过多优化方式
  12. LuoguP4234_最小差值生成树_LCT
  13. JavaScript|日期格式化、今天、昨天、明天和某天
  14. 加权随机采样 (Weighted Random Sampling)
  15. 最大数 (Java算法每日一题)
  16. python求解立方根_求解立方根
  17. 绝地求生2020服务器维护中,绝地求生2020最新维护公告几点开服?3月18日更新内容一览...
  18. 学习笔记:C语言简介
  19. 如何做机器学习模型质量保障及模型效果评测
  20. 解决Android在更新安装包时出现“未安装应用”的情况

热门文章

  1. 强烈抗议福建泉州的高速交警乱设指示牌和乱开罚单!
  2. 2022-8-31 第七小组 学习日记 (day55)JSP
  3. 定义一个Ladder类用来刻画“梯形”,要求:Ladder类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
  4. 什么是数字化营销?与ChatGPT结合能产生的化学反应?
  5. react无缝滚动_react 实现一个无限循环的轮播器 附github地址
  6. PMP项目管理项目沟通管理
  7. 关于电脑系统的安装及步骤
  8. Linux进程控制:wait获取子进程退出状态 WIFEXITED和WIFSIGNALED用法
  9. 极智嘉携手磅旗科技赋能广东洲明,树立LED行业未来发展新标杆
  10. css3宽度变大动画_电工不会仪表?太尴尬了。14种动画让你轻松掌握各种流量计工作原理。...