断路器仪表盘HystrixDashboard

Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard可以直观地看到各Hystrix Command的请求响应时间,请求成功率等数据。

1、 新建工程hystrix-dashboard

pom.xml文件依赖如下

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、 开启HystrixDashBoard

在启动类中,添加@EnableHystrixDashboard注解,开启HystrixDashBoard

3、 yml配置文件

server:
  port:
8766

spring:
  application:
    name:
hystrix-dashboard

eureka:
  client:
   serviceUrl:
    defaultZone:
http://localhost:8761/eureka/
  instance:
   lease-expiration-duration-in-seconds:
2
   lease-renewal-interval-in-seconds: 1

logging:
  file:
hystrix-dashboard.log

端口号为8766,并且注册到eureka中,服务名为hystrix-dashboard。

4、 访问仪表盘界面

5、 对负载均衡ribbon进行熔断

5.1 查看ribbon中的hystrix.stream流:

直接在浏览器中输入localhost:8764/hystrix.stream可以看到ping信息

5.2 在仪表盘里输入ribbon的hystrix.stream

若SERVICE-HI和SERVICE-HELLO都在启动状态(分别通过RIBBON去访问者两个应用服务),请求一次后得到如下视图:

5.3 断开SERVICE-HELLO的应用

(1)在eureka中只有SERVICE-HI应用和SERVICE-RIBBON,无SERVICE-HELLO;

(2)通过SERVICE-RIBBON分别触发SERVICE-HI和SERVICE-HELLO应用,发现SERVICE-HELLO已熔断;

(3)查看dashboard仪表盘可以看到如下监控

6、 对单个服务进行熔断

6.1 对SERVICE-HELLO这个服务添加熔断机制

(1)添加依赖

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>

(2)启动类上开启熔断,添加@EnableHystrix注解

(3)在需要熔断的方法上添加@HystrixCommand注解进行熔断降级

6.2 查看ribbon中的hystrix.stream

在浏览器中输入http://localhost:8765/hystrix.stream

6.3 在hystrix-dashboard中查看

输入http://localhost:8765/hystrix.stream,并去触发HELLO-SERVICE应用。

点击15次后显示触发成功次数15次,Pool Size默认为10;

7、 仪表盘详解

7.1 仪表盘界面详解

7.2 断路信息详解

以下是引用图片

7.3 判断断路器的打开/关闭状态isOpen()

如果断路器打开标识为true,则直接返回true,表示断路器处于打开状态,否则,就从度量指标对象metrics中获取HealthCounts统计对象做进一步判断(该对象记录了一个滚动时间窗内的请求信息快照,默认时间窗为10秒)

1)如果它的请求总数(QPS)在预设的阈值范围内就返回false,表示断路器处于未打开状态,该阈值的配置参数为circuitBreakerRequestVolumeThreshold,默认值为20.

2)如果错误百分比在阈值范围内就返回false,表示断路器处于未打开状态,该阈值的配置参数为circuitBreakerErrorThresholdPercentage,默认值为50.

如果上面的两个条件都不满足,则将断路器设置为打开状态(熔断/短路)。同时,如果是从关闭状态切换到打开状态的话,就将当前时间记录到circuitOpenedOrLastTestedTime对象中。

代码:https://github.com/Anyda123

基于springcloud的开发者实践:hystrix-dashboard熔断仪表盘相关推荐

  1. springcloud系列九 整合Hystrix Dashboard

    Hystrix Dashboard是Hystrix的仪表盘组件,主要用来实时监控Hystrix的各项指标信息,通过界面反馈的信息可以快速发现系统中存在的问题. 整合快速体验: pom.xml(这个是F ...

  2. 【SpringCloud】服务降级 Hystrix DashBoard

    文章目录 1.概述 2.案例 2.1 案例1 2.1.1 pom 2.1.2 主类 2.1.3 配置 2.1.4 provider 2.1.5 测试 2.1.6 被监控者 1.概述 视频笔记:http ...

  3. SpringCloud学习记录 | 第十篇:Hystrix DashBoard 实时图像监控界面(豪猪哥)

    一.Hystrix DashBoard Hystrix提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续记录所有的通过Hystrix发起的请求执行信息,并以统计报表和图 ...

  4. Hystrix及Hystrix Dashboard

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间,请求成功率等数据 ...

  5. springcloud(五):熔断监控Hystrix Dashboard和Turbine

    Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数 ...

  6. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)

    跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...

  7. 爱油科技基于SpringCloud的微服务实践

    个人简介 刘思贤(微博@starlight36),爱油科技架构师.PMP.主要负责业务平台架构设计,DevOps实施和研发过程持续改进等,关注领域驱动设计与微服务.建设高效团队和工程师文化培养. 摘要 ...

  8. springcloud-知识点总结(三):Hystrix Dashboard turbine Zuul SpringCloud Config

    1.Hystrix断路器简介 Hystrix断路器简介 hystrix对应的中文名字是"豪猪",豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本 ...

  9. SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝 ...

最新文章

  1. [原]不祥的CPU——Alpha
  2. PHP 作为SocketClient发送字节数组
  3. 与C#中的typedef等效
  4. SSM三大框架整合Springfox(Swagger2)详细解决方案
  5. windows下的虚拟内存分配分析
  6. 小波变换输出变量详解
  7. Linux中的防火墙----iptables
  8. 文本挖掘(part4)--N-gram模型
  9. 直接插入排序,折半插入排序,希尔排序,简单选择排序,冒泡排序,快速排序模板以及比较次数与移动次数的分析,折半搜索算法模板
  10. [开发手记] 使用.NET实现你的IP切换器
  11. django debug=false后静态文件丢失_python框架Django实战商城项目之工程搭建
  12. python如何确定拐点_python – 在样条拟合1d数据中找到拐点
  13. Ubuntu学习日记--Lesson10:gcc、make、makefile、cmake、cmakelists区别
  14. python服务器运维步骤_python运维服务器
  15. LT8618SXB-HDMI发射器,运行功率小于100mA播放24bit 1080P内容,待机功率小于2mA
  16. 中西方对时间的差异_中西方时间观差异的跨文化分析
  17. 罗马盘、大力盘、大圣盘等搜索网站,简单绕过付费
  18. IOS App的简单开发实例
  19. linux iptable命令用法
  20. k Nearest Neighbor Algorithm

热门文章

  1. 虚函数和虚表指针的例子
  2. [有限元] DistMesh Matlab 程序示例
  3. urban数据集_JUST技术|CK实现时序数据管理
  4. 宝塔 + 百度BCC + centos + vue + 搭建nginx服务器
  5. 判断网页是否为微信内置浏览器打开?
  6. 苹果cms_影视双端源码_支持在线切换前端主题+安装教程文档
  7. 华为交换机配置时区_华为交换机怎么设置时间?
  8. 中getname_浅析JS中的class
  9. 只腐蚀毛刺 腐蚀算法_去毛刺工艺大全,一次性列举了14种方法,非常全面
  10. 扁平图文列表小程序模板