暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SpringCloud-14: 使用Turbine查看集群状态

Coding On Road 2019-02-11
235

10、turbine

1、简介:

看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。

可以为turbine独立的创建一个项目。如下图所示:

 

 

2、开发turbine微服务

以下创建一个独立的新项目。

1、添加依赖

主是要添加netflix-turbine的依赖,但为了注册到eureka服务器上去,也必须要依赖eureka-client。

<dependency>

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

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

</dependency>

<dependency>

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

<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

</dependency>

 

2、配置application.yml文件

以下最重要配置内容,就是turbine.aggregator.cluster-config和turbine.app-config。两个值相同都是其他微服务的spring.application.name的值。

server:

  port: 2001

spring:

  application:

    name: eureka-turbine

eureka:

  client:

    enabled: true

    service-url:

      defaultZone: http://Jack:1234@server1:8761/eureka/

#配置turbine

#cluster的值必须要大写:http://server1:2001/turbine.stream?cluster=EUREKA-USER-HYSTRIX

#其中:EUREKA-USER-HYSTRIX是另一个项目的appname,被收集信息的程序必须要拥有@EnableCircuitBreaker注解。

turbine:

  aggregator:

    cluster-config:

    - EUREKA-USER-HYSTRIX

  app-config: EUREKA-USER-HYSTRIX

      

logging:

  file: eureka-turbine.log

  level:

root: INFO

截图:

 

3、开发启动类,并添加Turbine注解

Turbine的注解是:@EnableTurbine。

package cn.wangjian.springcloud;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.EnableEurekaClient;

import org.springframework.cloud.netflix.turbine.EnableTurbine;

@SpringBootApplication

@EnableEurekaClient

@EnableTurbine

public class EurekaTurbineApp {

public static void main(String[] args) {

SpringApplication.run(EurekaTurbineApp.class, args);

}

}

 截图:

 

 

目前所有微服务的项目结构如下:

 

 

目前只启动以下项目:


说明:

1、user-hystrix项目模拟客户端项目向server进行注册,访问eureka-movie中的数据。

2、user-hystrix支持添加注解@EnableCircuitBreaker即支持熔断。且可以使用/acturator/hystrix.stream获取单一节点的数据。

3、dashboard微服务只用于显示报表界面。

 

4、使用dashboard查看turbine.stream的数据

现在启动所有项目:

 

 

先访问dashboard出现以下界面:

http://server1:6001/hystrix

 

现在在地址栏中输入:

http://server1:2001/turbine.stream?cluster=EUREKA-USER-HYSTRIX

 说明:

其中http://server1:2001/是turbine微服务的地址。

/turbine.stream是trubine固定地址值。

Cluster=...是配置到turbine项目中可以获取数据的项目名称。值必须要大写。

 

 

 

OK ,到此为止,已经可以使用turbine获取集群中统计数据了。上面显示hosts数量为2,因为user-hystrix项目启动两次,一个为4001端口,一个是4002端口。


文章转载自Coding On Road,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论