springcloud:turbine的应用

     2022-03-28     387

关键词:

1、概念

Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。

2、引入依赖

    <dependency>        

        <groupId>org.springframework.cloud</groupId>         

       <artifactId>spring-cloud-netflix-turbine</artifactId>      

      </dependency>

3、创建应用

        TurbineApplication

        @SpringBootApplication

        @EnableTurbine

        public class TurbineApplication {

          public static void main(String[] args) {

            new SpringApplicationBuilder(TurbineApplication.class).web(true).run(args);

          }

        }

4、对应配置信息

            server.port=8031

            spring.application.name=turbine

            turbine.appConfig=app01,app02

            turbine.aggregator.clusterConfig= app

            turbine.clusterNameExpression= metadata['cluster']

   turbine.appConfig 配置需要聚合的应用 
   turbine.aggregator.clusterConfig turbine需要聚合的集群名称 通过 http://localhost:8031/turbine.stream?cluster=app 访问 
   turbine.clusterNameExpression 获取集群名表达式,这里表示获取元数据中的cluster数据,在app01、app02为配置对应信息

5、创建EurekaServer服务

6、创建应用app01   

        @Configuration

        @EnableAutoConfiguration

        @EnableDiscoveryClient

        @EnableCircuitBreaker

        @RestController

        public class App01 {

         public static void main(String[] args) {

         SpringApplication.run(App01.class, args);

         }

         @Autowired

         private HelloService service;

         @RequestMapping("/")

        

         public String hello() {

         return this.service.hello();

         }

         @Component

         public static class HelloService {

         @HystrixCommand(fallbackMethod = "fallback")

         public String hello() {

         return "Hello World";

         }

         public String fallback() {

         return "Fallback";

         }

         }

        }

对应配置:

          server.port= 8091 
          spring.application.name=app01 
          eureka.instance.hostname=localhost 
          eureka.instance.metadata-map.cluster=app

7、创建应用app02

      对应配置:

          server.port= 8092 
          spring.application.name=app02
          eureka.instance.hostname=localhost 
          eureka.instance.metadata-map.cluster=app

8、三个应用同时注册到EurekaServer,然后启动大盘服务,在大盘服务里面输入http://localhost:9031/turbine.stream?cluster=app得到监控界面;

9、监控界面的各个指标的含义

  1. 圆形颜色和大小:代表健康情况和流量

  2. 折线:2分钟内的吞吐率变化情况

  3. hosts:集群中节点个数

  4. median: 每个请求时间的中位数

  5. mean: 平均每个请求消耗的时间

  6. subscriberGetAccount
    绿200545:代表成功请求数量 
    蓝0:代表断路数量 
    黄19:代表表超时的线程数量 
    紫94:代表线程池拒绝次数,即线程不够用 
    红0: 失败或异常数量 
    灰0%: 最后10秒错误率

  7. host: 各节点每秒的平均请求吞吐量

  8. cluster: 集群每秒的请求吞吐量

  9. circuit:代表断路器状态即:是否打开断路器 90th,99th,99.5th: 
    最后1分钟各种延迟的百分比。如图:90%的请求小于10ms;而99%的请求小于44ms,99.5%的请求在61ms完成。

10、总结

  通过turbine可以监控集群的请求量,可以知道系统的请求高峰期,从而更好的知道系统的短板在哪里

springcloud深入学习-----熔断监控hystrixdashboard和turbine(代码片段)

Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过HystrixDashboard我们可以在直观地看到各HystrixCommand的请求响应时间,请求成功率等数据。但是只使用HystrixDashboard的话,你只能看到单个应用内的服务信息,这明显不够.我们需要... 查看详情

springcloud:熔断监控turbine

在复杂的分布式系统中,相同服务的节点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。为此,Netflix提供了一个开源... 查看详情

springcloud:熔断监控turbine

在复杂的分布式系统中,相同服务的节点经常需要部署上百甚至上千个,很多时候,运维人员希望能够把相同服务的节点状态以一个整体集群的形式展现出来,这样可以更好的把握整个系统的状态。为此,Netflix提供了一个开源... 查看详情

springcloud第八篇|hystrix集群监控turbine

?本文是SpringCloud专栏的第八篇文章,了解前七篇文章内容有助于更好的理解本文:SpringCloud第一篇|SpringCloud前言及其常用组件介绍概览SpringCloud第二篇|使用并认识Eureka注册中心SpringCloud第三篇|搭建高可用Eureka注册中心SpringCloud第... 查看详情

springcloud微服务(04):turbine组件,实现微服务集群监控

本文源码:GitHub·点这里||GitEE·点这里一、聚合监控简介1、Dashboard组件微服务架构中为了保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应程序的可用性和健壮性,它是一个重要指标。Hystri... 查看详情

springcloud熔断面板聚合熔断turbine

 改造feign项目  1启动类添加注解  @EnableHystrix  2添加如下配置文件  #jieureka.instance.metadata-map.cluster=MAIN#actuatormanagement.server.port=9003management.endpoints.web.exposure.in 查看详情

springcloud将一个普通的springcloud项目非feign或ribbon项目,改造成turbine可聚合监听的项目(代码片段)

改造之前一个项目service-a1pom.xml添加如下<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><d 查看详情

springcloud:hystrix-dashboard-turbine(代码片段)

hystrix-dashboard-turbine-server1.File-->newspringstarterproject2.adddependency<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</ 查看详情

springcloud2.0turbine断路器集群监控基础教程

...、启动基础工程1.1、启动【服务中心】集群,工程名称:springcloud-eureka-server参考SpringCloud2.0EurekaServer服务中心基础教程(二)1.2、启动【服务提供者】集群,工程名称:springcloud-eureka-client参考SpringCloud2.0EurekaClient服务注册基础教程(... 查看详情

springcloud学习hystrix&hystrixdashboard&turbine(代码片段)

在复杂的分布式系统中,可能有几十个服务相互依赖,这些服务由于某些原因,例如机房的不可靠性、网络服务商的不可靠性等,导致某个服务不可用。如果系统不隔离该不可用的服务,可能会导致整个系统不可用。Hystrix提供... 查看详情

springcloud的turbine配置监控多个服务的一些坑!!!!instancemonitor$misconfiguredhostexception,nomessageavailable&q

踩了几个小时坑,使用仪表盘监控单个服务的时候很容易,但是一到多个服务,瞬间坑就来了,大概碰到下面三个: 1InstanceMonitor$MisconfiguredHostException,Nomessageavailable","path":"/actuator/hystrix.stream:因为我用的是springboot2.0.6版本,这个版本... 查看详情

断路器hystrix与turbine集群监控-springcloud学习第三天(代码片段)

文章大纲一、Hystrix基础介绍二、断路器Hystrix简单使用三、自定义Hystrix请求命令四、Hystrix的服务降级与异常处理五、Hystrix的请求缓存与请求合并六、Hystrix仪表盘与Turbine集群监控七、项目源码与参考资料下载八、参考文章 ... 查看详情

Spring Cloud Turbine 空流

】SpringCloudTurbine空流【英文标题】:SpringCloudTurbineemptystream【发布时间】:2015-05-1211:56:17【问题描述】:我有一个作为涡轮服务器和Hystrix仪表板的SpringCloud应用程序。它有一个Eureka客户端,仪表板正常运行,可以看到一个单独的H... 查看详情

springcloud-springcloudnetflix之hystrix;turbine(代码片段)

阅读本文前可先参考SpringCloud-SpringCloud根/父项目,开发准备(二)https://blog.csdn.net/MinggeQingchun/article/details/125308948https://blog.csdn.net/MinggeQingchun/article/details/125312594 https://blog.csdn.net/MinggeQingchun/article/details/125315839SpringClou... 查看详情

Spring Cloud Turbine - 无法处理多个客户端?

】SpringCloudTurbine-无法处理多个客户端?【英文标题】:SpringCloudTurbine-Unabletohandlemultipleclients?【发布时间】:2015-07-0804:11:20【问题描述】:我在让Turbine在SpringCloud中工作时遇到了一些麻烦。简而言之,我无法确定如何将其配置为... 查看详情

如何在独立的 Turbine 应用程序中激活 /turbine.stream 端点

】如何在独立的Turbine应用程序中激活/turbine.stream端点【英文标题】:Howtoactivate/turbine.streamendpointinastandaloneTurbineapplication【发布时间】:2019-02-0306:04:31【问题描述】:我正在尝试创建一个独立的应用程序来从其他应用程序收集Hyst... 查看详情

springcloud+springboot+...分布式微服务云架构

做一个微服务架构需要的技术整理:View: H5、Vue.js、SpringTag、React、angularJsSpringBoot/SpringCloud:Zuul、Ribbon、Feign、Turbine、Hystrix、Oauthor2、Sleuth、APIGateway、SpringCloud、ConfigEureka、SSO、SpringCloud、BUS、Turbine、Z 查看详情

springcloud+springboot+..分布式微服务云架构

做一个微服务架构需要的技术整理:View: H5、Vue.js、SpringTag、React、angularJsSpringBoot/SpringCloud:Zuul、Ribbon、Feign、Turbine、Hystrix、Oauthor2、Sleuth、APIGateway、SpringCloud、ConfigEureka、SSO、SpringCloud、BUS、Turbine、Z 查看详情