• SpringCloud - Spring Cloud Netflix 之 Hystrix ;turbine(十)


    阅读本文前可先参考

    SpringCloud - Spring Cloud根/父项目,开发准备(二)
    https://blog.csdn.net/MinggeQingchun/article/details/125308948

    https://blog.csdn.net/MinggeQingchun/article/details/125312594 

    https://blog.csdn.net/MinggeQingchun/article/details/125315839

    Spring Cloud Hystrix Turbine

    Hystrix Dashboard 的主要功能是可以对某一项微服务进行监控,但真实情况下,不可能只对一个微服务进行监控,我们有很多微服务,所以我们需要对很多微服务进行监控,这个时候就需要使用到turbine [ˈtɜːbaɪn] 来完成

    Hystrix Dashboard 前面已经知道了,它的主要功能是可以对某一项微服务进行监控,但真实情况下,不可能只对一个微服务进行监控,我们有很多微服务,所以我们需要对很多微服务进行监控,这个时候就需要使用到turbine [ˈtɜːbaɪn] 来完成

    单个hystrix服务的监控

    多个hystrix服务的监控

    1、新建一个springboot Module(springcloud-6-service-eureka-hystrix-turbine),设置父项目

    2、添加 spring-cloud-starter-netflix-turbine等 依赖

    1. <dependencies>
    2. <!-- spring-cloud-starter-netflix-turbine -->
    3. <dependency>
    4. <groupId>org.springframework.cloud</groupId>
    5. <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
    6. </dependency>
    7. </dependencies>
    1. <!--继承统一的父项目-->
    2. <parent>
    3. <groupId>com.company</groupId>
    4. <artifactId>springcloud-demo</artifactId>
    5. <version>1.0.0</version>
    6. <!-- <relativePath/> &lt;!&ndash; lookup parent from repository &ndash;&gt;-->
    7. </parent>
    8. <groupId>com.company</groupId>
    9. <artifactId>springcloud-6-service-eureka-hystrix-turbine</artifactId>
    10. <version>0.0.1-SNAPSHOT</version>
    11. <name>springcloud-6-service-eureka-hystrix-turbine</name>
    12. <description>Demo project for Spring Boot</description>
    13. <properties>
    14. <java.version>1.8</java.version>
    15. </properties>
    16. <dependencies>
    17. <!-- spring-cloud-starter-netflix-turbine -->
    18. <dependency>
    19. <groupId>org.springframework.cloud</groupId>
    20. <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
    21. </dependency>
    22. </dependencies>
    23. <build>
    24. <plugins>
    25. <plugin>
    26. <groupId>org.springframework.boot</groupId>
    27. <artifactId>spring-boot-maven-plugin</artifactId>
    28. </plugin>
    29. </plugins>
    30. </build>

    3、application.prperties配置文件中配置访问端口3722

    1. server.port=3722
    2. #不向注册中心注册自己
    3. eureka.client.register-with-eureka=false
    4. #注册中心的链接地址 http://localhost:8761/eureka
    5. eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka,http://eureka8762:8762/eureka,http://eureka8763:8763/eureka
    6. #配置turbine
    7. turbine.app-config=springcloud-6-service-eureka-hystrix-consumer8081,springcloud-6-service-eureka-hystrix-consumer8082
    8. #需要有这个,没有的话聚合不了多个项目
    9. turbine.cluster-name-expression="default"

    4、在 Spring Boot 的启动类中,添加@EnableTurbine 注解,//开启turbine对hystrix聚合汇总支持

    1. @EnableTurbine //开启turbine对hystrix聚合汇总支持
    2. @SpringBootApplication
    3. public class EurekaHystrix6TurbineApplication {
    4. public static void main(String[] args) {
    5. SpringApplication.run(EurekaHystrix6TurbineApplication.class, args);
    6. }
    7. }

    5、创建两个服务消费者 springcloud-6-service-eureka-hystrix-consumer8081,springcloud-6-service-eureka-hystrix-consumer8082(复制自springcloud-6-service-eureka-hystrix-consumer)

    6、启动springboot启动类,访问应用,再去查看 DashBoard 控制中心控制台服务

    http://localhost:8080/springcloud/eureka/hystrix/goodHystrixList

    http://localhost:8081/springcloud/eureka/hystrix/goodHystrixList

    http://localhost:8080/actuator/hystrix.stream

    http://localhost:8081/actuator/hystrix.stream

    http://localhost:3722/turbine.stream

  • 相关阅读:
    ROS 笔记(03)— ROS 命令行工具(rostopic、rosservice、rosnode、rosmsg、rosparam、rossrv)
    如何使用前端表格控件实现多数据源整合?
    AT32F407/437使用FreeRTOS并实现ping客户端
    基于Java+SSM+MySQL的水果商城系统
    35 | 如何准备测试数据?
    【数据结构与算法】第五篇:B树
    软件测试基本常识
    问题随记 —— PyCharm 连接远程服务器的 Python 环境
    SpringSecurity(二十二)--OAuth2:实现资源服务器(下)通过redis和缓存实现TokenStore
    C++设计模式---单例模式
  • 原文地址:https://blog.csdn.net/MinggeQingchun/article/details/125318882