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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud微服务(04):Turbine组件,实现微服务集群监控相关的知识,希望对你有一定的参考价值。

本文源码:GitHub·点这里 || GitEE·点这里

一、聚合监控简介

1、Dashboard组件

微服务架构中为了保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应程序的可用性和健壮性,它是一个重要指标。HystrixDashboard是作为断路器状态的一个组件,提供了数据监控和直观的图形化界面。

2、Turbine组件

Hystrix Dashboard组件监控服务的熔断情况时,每个服务都有图形界面,当微服务数量很多时,监控非常繁杂.为了同时监控多个服务的熔断状况,Netflix开源了Hystrix的另一个组件Turbine.Turbine用于聚合多个Hystrix Dashboard监控,将多个Hystrix Dashboard组件的数据聚集在一个面板展示,集中监控。

3、案例结构

技术图片

聚合监控服务
node04-monitor-7002
注册中心
node04-eureka-7001
两个服务提供者,都配置了熔断器,和Dashboard组件
node04-provider-6001
node04-provider-6002

二、Dashboard组件

这个组件是针对单个微服务的监控的。具体使用流程如下。

1、注解和依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>

启动类注解

  • @EnableHystrix
  • @EnableHystrixDashboard

2、启动下面两个服务

node04-eureka-7001
node04-provider-6001

3、访问指定接口

1)、访问配置的熔断接口
http://localhost:6001/getInfo
2)、打开数据面板
http://localhost:6001/hystrix.stream
可以看到一些具体的数据,类似打印日志的方式,展现上面接口的执行信息。
3)、打开图形面板
http://localhost:6001/hystrix
查看配置监控信息。
技术图片

刷新几次上面配置的熔断接口,查看效果。
技术图片

三、Turbine组件

node04-monitor-7002 聚合监控服务,聚集6001,和6002两个服务的监控。

1、依赖和注解

1)、服务提供者新增依赖

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

2)、聚合服务依赖

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

启动类注解

  • @EnableTurbine

2、启动服务

依次启动注册中心,两个服务提供者,最后启动聚合监控中心。

3、操作流程

1)、打开监控面板
进行如下配置
技术图片

2)、刷新两个服务的熔断接口

http://localhost:6001/getInfo
http://localhost:6002/getInfo

查看上面面板的监控信息如下。
技术图片

聚合监控服务流程就是这样了。

四、源代码说明

GitHub·地址
https://github.com/cicadasmile/spring-cloud-base
GitEE·地址
https://gitee.com/cicadasmile/spring-cloud-base

技术图片

以上是关于SpringCloud微服务(04):Turbine组件,实现微服务集群监控的主要内容,如果未能解决你的问题,请参考以下文章

spring cloud微服务分布式云架构 - 整合企业架构的技术点

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

feign中的hytrix和turbin配置

微服务架构案例(05):SpringCloud 基础组件应用设计

第04课:初识 Spring Cloud

向 Eureka 服务器注册 Spring Cloud 微服务