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

JAVA herman 257浏览 0评论

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)!可加QQ1群:135430763,QQ2群:454796847,QQ3群:187424846。QQ群进群密码:xttblog,想加微信群的朋友,可以微信搜索:xmtxtt,备注:“xttblog”,添加助理微信拉你进群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作可添加助理微信进行沟通!

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