前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hystrix Dashboard

Hystrix Dashboard

作者头像
别团等shy哥发育
发布2023-02-25 15:35:26
3970
发布2023-02-25 15:35:26
举报
文章被收录于专栏:全栈开发那些事

文章目录

1、什么是Hystrix Dashboard?

  Hystrix Dashboard是Spring Cloud的仪表盘组件,可以查看Hystrix实例的执行情况,支持查看单个实例和查看集群实例,但是需要结合spring-boot-actuator一起使用。   Hystrix Dashboard主要用来实时监控Hystrix的各项指标信息。Hystrix Dashboard可以有效地反映出每个Hystrix实例的运行情况,帮助我们快速发现系统中的问题,从而采取对应措施。   Hystrix的主要优点之一是它收集的有关每个HystrixCommand的一组指标。Hystrix仪表板以有效的方式显示每个断路器的运行状况,具体如下图所示。

在这里插入图片描述
在这里插入图片描述

这个Hystrix Dashboard在实现的时候会有很多坑,我会在后续的文章中写一些解决方案

2、Hystrix Dashboard(仪表盘)实现

SpringBoot版本:2.2.5.RELEASE SpringCloud版本:Hoxton.SR6 项目结构: 仪表盘项目:

在这里插入图片描述
在这里插入图片描述

两个测试服务(这两个服务的实例都是https://blog.csdn.net/qq_43753724/article/details/119949141?spm=1001.2014.3001.5501这篇文章里面的,这里只是用下仪表盘看下断路器的开关以及其他一些细节):

在这里插入图片描述
在这里插入图片描述

2.1 在项目中引入依赖

代码语言:javascript
复制
<!--引入hystrix dashboard 依赖-->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>

2.2 入口类中开启hystrix dashboard

在这里插入图片描述
在这里插入图片描述

application.properties:

在这里插入图片描述
在这里插入图片描述

2.3 启动hystrix dashboard应用

访问:http://localhost:9909/hystrix

在这里插入图片描述
在这里插入图片描述

从上面页面内容可发现,有几个配置项 Hystrix Dashboard支持三种不同的监控方式

  • 默认集群监控:通过URL(https://turbine-hostname:port/turbine.stream)开启,实现对默认集群的监控
  • 指定的集群监控:通过URL( https://turbine-hostname:port/turbine.stream?cluster=[clusterName])开启,实现对clusterName集群的监控。
  • 单体应用的监控:通过URL(https://hystrix-app:port/actuator/hystrix.stream)开启,实现对具体某个服务实例的监控 Delay:默认是2000ms,主要用来控制服务器上轮询监控信息的延迟时间,通过该配置可以降低客户端的网络和CPU消耗。 Title:标题。默认使用具体监控实例的URL。

2.4 被监控的项目中加入监控路径配置[新版本的坑]

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
@Configuration
public class BeansConfig {

    @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;
    }
}

2.5 启动项目进行测试

在这里插入图片描述
在这里插入图片描述

服务注册中心:

在这里插入图片描述
在这里插入图片描述

刚启动时:

在这里插入图片描述
在这里插入图片描述

我们测试下服务调用:

在这里插入图片描述
在这里插入图片描述

再查看Hystrix Dashboard:

在这里插入图片描述
在这里插入图片描述

可以看到,这是个正常的请求,断路器是关闭的,我们测试下服务熔断时断路器的状态:(可以一直发送失败的请求,触发熔断条件)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  由上述两幅图片可看出服务熔断之后,断路器打开,当然断路器会每5秒(默认)放行一个请求,如果改请求成功,则关闭断路器,否则继续每隔5秒放行一个,一直重复。   在断路器打开之后我们给一个正常的请求,可以看到,断路器立刻关闭。

在这里插入图片描述
在这里插入图片描述

3、Hystrix现状

官方地址:https://github.com/Netflix/Hystrix

在这里插入图片描述
在这里插入图片描述

翻译之后:

在这里插入图片描述
在这里插入图片描述

  Hystrix 不再处于积极开发阶段,目前处于维护模式。

  Hystrix(版本 1.5.18)足够稳定,可以满足 Netflix 对我们现有应用程序的需求。同时,我们的重点已转向更具适应性的实现,这些实现对应用程序的实时性能做出反应,而不是预先配置的设置(例如,通过自适应并发限制)。对于像 Hystrix 之类的东西有意义的情况,我们打算继续将 Hystrix 用于现有应用程序,并在新的内部项目中利用诸如elastic4j 之类的开放和活跃项目。我们开始建议其他人也这样做。

  当然,1.5.18版本还是可以在开发中用的,不过现在我们有了阿里巴巴的组件Sentinel

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-08-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1、什么是Hystrix Dashboard?
  • 2、Hystrix Dashboard(仪表盘)实现
    • 2.1 在项目中引入依赖
      • 2.2 入口类中开启hystrix dashboard
        • 2.3 启动hystrix dashboard应用
          • 2.4 被监控的项目中加入监控路径配置[新版本的坑]
            • 2.5 启动项目进行测试
            • 3、Hystrix现状
            相关产品与服务
            测试服务
            测试服务 WeTest 包括标准兼容测试、专家兼容测试、手游安全测试、远程调试等多款产品,服务于海量腾讯精品游戏,涵盖兼容测试、压力测试、性能测试、安全测试、远程调试等多个方向,立体化安全防护体系,保卫您的信息安全。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档