1、启动基础工程
1.1、启动【服务中心】集群,工程名称:springcloud-eureka-server
参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二)
1.2、启动【服务提供者】集群,工程名称:springcloud-eureka-client
参考 SpringCloud2.0 Eureka Client 服务注册 基础教程(三)
1.3、启动【服务消费者】,工程名称:springcloud-eureka-ribbon
参考 SpringCloud2.0 Hystrix Ribbon 基于Ribbon实现断路器 基础教程(六)
1.4、启动【服务消费者】,工程名称:springcloud-eureka-feign
参考 SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
1.5、启动【断路器仪表看板】,工程名称:springcloud-eureka-hystrix-dashboard
参考 SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)
2、创建【断路器集群监控】,即 Eureka Turbine
2.1、新建 Spring Boot 工程,工程名称:springcloud-eureka-turbine
2.2、工程 pom.xml 文件添加如下依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-turbine</artifactId> </dependency>
2.3、在工程启动类中,添加注解 @EnableTurbine
package com.miniooc.eurekaturbine; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.turbine.EnableTurbine; /** * EurekaTurbineApplication * * @author 宋陆 * @version 1.0.0 */ @EnableTurbine @SpringBootApplication public class EurekaTurbineApplication { public static void main(String[] args) { SpringApplication.run(EurekaTurbineApplication.class, args); } }
2.4、新建工程配置文件 application.yml ,配置内容:
server: port: 52640 spring: application: name: eureka-turbine eureka: instance: hostname: localhost # 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值 lease-renewal-interval-in-seconds: 5 # 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。 # 默认为90秒 # 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。 # 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。 # 该值至少应该大于 leaseRenewalIntervalInSeconds lease-expiration-duration-in-seconds: 10 client: serviceUrl: defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/ turbine: app-config: eureka-discovery-ribbon, eureka-discovery-feign aggregator: cluster-config: default cluster-name-expression: new String("default") #更改turbine连接的默认uri ,默认为actuator/hystrix.stream instanceUrlSuffix: hystrix.stream
2.5、启动【断路器集群监控】工程
2.6、打开浏览器,访问 http://localhost:52630/hystrix
2.7、监控地址输入 http://localhost:52640/turbine.stream 来监控 springcloud-eureka-turbine 服务,点击【Monitor Stream】按钮,开启断路器指标看板
如果出现 Loading... 状态,只要请求一下 http://localhost:52610/ribbonInfo,http://localhost:52620/feignInfo,就可以看到数据指标了。
至此,我们简单实现了【断路器集群监控】,即同时监控了springcloud-eureka-ribbon, springcloud-eureka-feign两个服务
《SpringCloud2.0 基础教程》目录
SpringCloud2.0 概述 基础教程(一)
SpringCloud2.0 Eureka Server 服务中心 基础教程(二)
SpringCloud2.0 Eureka Client 服务注册 基础教程(三)
SpringCloud2.0 Ribbon 服务发现 基础教程(四)
SpringCloud2.0 Feign 服务发现 基础教程(五)
SpringCloud2.0 Hystrix Ribbon 基于Ribbon实现断路器 基础教程(六)
SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)
原文地址:https://www.cnblogs.com/songlu/p/9977260.html
时间: 2024-10-08 05:59:41