我是靠谱客的博主 无心飞鸟,这篇文章主要介绍spring cloud 2.x版本 Hystrix Dashboard断路器教程,现在分享给大家,希望可以做个参考。

前言

复制代码
1
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3

本文基于前两篇文章eureka-server、eureka-client、eureka-ribbon和eureka-feign的实现。

参考

- eureka-server

- eureka-client

- eureka-ribbon

- eureka-feign

概念

Hystrix Dashboard时Hystrix提供的一个可以查看hystrix监控数据的控制面板。Hystrix提供了近实时的数据监控,Hystrix会实时、累加的记录所有关于HystrixCommand的执行信息,包括每秒执行多少请求,多少成功和多少失败等。

创建Hystrix Dashboard工程

1.1 创建sping boot工程:hysteric-dashboard

1.2 添加pom.xml相关依赖

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<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-hystrix-dashboard</artifactId> </dependency>

1.3 application添加配置信息

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
spring: application: name: hystrix-dashboard server: port: 8500 eureka: instance: hostname: localhost lease-renewal-interval-in-seconds: 5 lease-expiration-duration-in-seconds: 10 client: service-url: defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/

1.4 启动类HystrixDashboardApplication增加注解

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package spring.cloud.demo.hystrixdashboard; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard; @EnableHystrixDashboard @EnableDiscoveryClient @SpringBootApplication public class HystrixDashboardApplication { public static void main(String[] args) { SpringApplication.run(HystrixDashboardApplication.class, args); } }

@EnableHystrixDashboard:启动Hystrix Dashboard断路器看板相关配置

1.5 启动hystrix-dashboard服务

打开浏览器,输入http://localhost:8500/hystrix显示结果如下:

file

url输入框:代表要监控的服务消费者

Single Hystrix App: https://hystrix-app:port/actuator/hystrix.stream:要监控路径url格式

1.6 监控ribbon服务

1.6.1 eureka-ribbon增加Hystrix的Configuration

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package spring.cloud.demo.eurekaribbon.config; import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * @auther: maomao * @DateT: 2019-09-17 */ @Configuration public class HystrixConfig { @Bean public ServletRegistrationBean getServlet() { HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet(); ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet); registrationBean.setLoadOnStartup(1); registrationBean.addUrlMappings("/hystrix.stream"); registrationBean.setName("HystrixMetricsStreamServlet"); return registrationBean; } }

启动eureka-client和eureka-ribbon服务。然后在hystrix dashboard控制面板url框中输入:file

点击Monitor Stream会显示:file

- Unable to connect to Command Metric Stream问题原因:因为我们开启监控的断路器流Hystrix Stream路径http://localhost:8901/hystrix.stream不是spring boot的默认路径,也不是hystrix的默认路径,所有要增加Hystrixconfig来制定断路器的指标流Servlet。

- 首次成功启动页面也有可能会显示loading,这代表还没有访问我们要监控的服务,这是我们可以多次请求要访问的服务就可以看到指标数据

按照同样的方式我可以设置eureka-feign的配置来进行监看。

总结

本文简单的搭建了Hystrix Dashborad数据监控平台。

Hystrix现在已经是停止开发,处于维护阶段,在Github上Hystrix已经说明,建议我们使用Resilience4J。后续会更新关于Resilience4J的简单实用。

代码地址

gitHub地址

《Srping Cloud 2.X小白教程》目录

  • spring cloud 2.x版本 Eureka Server服务注册中心教程
  • spring cloud 2.x版本 Eureka Client服务提供者教程
  • spring cloud 2.x版本 Ribbon服务发现教程(内含集成Hystrix熔断机制)
  • spring cloud 2.x版本 Feign服务发现教程(内含集成Hystrix熔断机制)
  • spring cloud 2.x版本 Zuul路由网关教程
  • spring cloud 2.x版本 config分布式配置中心教程
  • spring cloud 2.x版本 Hystrix Dashboard断路器教程

------

转载请注明出处,

  • 联系方式:4272231@163.com

最后

以上就是无心飞鸟最近收集整理的关于spring cloud 2.x版本 Hystrix Dashboard断路器教程的全部内容,更多相关spring内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(114)

评论列表共有 0 条评论

立即
投稿
返回
顶部