Java基础、中级、高级、架构面试资料

Spring Cloud 教程第十章 熔断监控 Hystrix Dashboard(仪表盘)使用教程

JAVA herman 3641浏览 0评论
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云

Spring Cloud 提供了很多的组件,你能想到的功能,Spring Cloud 提供的都有。前面我们写了 hystrix,但是 hystrix 有一个问题,那就是我能不能对发生断路或者熔断的服务做一个统计呢?答案当然是可以的。本文将借助 Hystrix Dashboard 来为大家实现一个简单的 hystrix 断路器(熔断器)监控。

Hystrix Dashboard 可以单独部署,也可以做集群。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态的一个组件,提供了数据监控和友好的图形化界面。下面我们一起来看看 Hystrix Dashboard 是如何使用的。

同样的,我们再创建一个工程 xttblog-hystrix-dashboard。pom.xml 文件中比 xttblog-feign-hystrix 多出了一下配置:

<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>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

application.yml 中只是改了 spring.application.name 和端口的配置:

server:
  port: 8777

eureka:
  instance:
    hostname: localhost
  client:
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:8761/eureka/

spring:
  application:
    name: xttblog-hystrix-dashboard

feign:
  hystrix:
    enabled: true

然后启动类上,需要加上 @EnableHystrixDashboard 和 @EnableCircuitBreaker 注解:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableHystrixDashboard
@EnableCircuitBreaker
public class HystrixDashboardApplication {
    public static void main(String[] args) {
        SpringApplication.run(HystrixDashboardApplication.class, args);
    }
}

Controller 中的内容和 xttblog-cloud-consumer 中的类似,我就不在贴出来了。

最后,我们依次启动 xttblog-config-serverxttblog-cloud-producer 和我们刚创建的 xttblog-hystrix-dashboard。然后在浏览器地址栏里输入 启动工程后访问 http://localhost:8777/hystrix,我们将会看到有刺猬的界面。

断路器监控(Hystrix Dashboard)

访问http://localhost:8888/hystrix.stream 也会不断的显示ping。当我们访问 http://localhost:8777/test/radd?a=22&b=13 后,才会看到具体的监控效果。Hystrix Dashboard 仪表盘其实就是将监控信息以图表的形式给展现出来了。而且这个图表看起来并不漂亮,并不符合中国人的审美观。关于每个具体的监控指标,大家可以参考:https://github.com/Netflix/Hystrix/wiki。后面等我时间了再翻译一些给大家!

本文源代码以上传至:https://github.com/xmt1139057136/xttblog-cloud,有需要的可以去下载!

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » Spring Cloud 教程第十章 熔断监控 Hystrix Dashboard(仪表盘)使用教程