解决Hystrix Dashboard 一直是Loading ...的状况

Hystrix是什么

Hystrix 能使你的系统在出现依赖服务失效的时候,经过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复。
html

Hystrix能作什么?

  • 在经过第三方客户端访问(一般是经过网络)依赖服务出现高延迟或者失败时,为系统提供保护和控制
  • 在分布式系统中防止级联失败
  • 快速失败(Fail fast)同时能快速恢复
  • 提供失败回退(Fallback)和优雅的服务降级机制
  • 提供近实时的监控、报警和运维控制手段

Hystrix设计原则?

  • 防止单个依赖耗尽容器(例如 Tomcat)内全部用户线程
  • 下降系统负载,对没法及时处理的请求快速失败(fail fast)而不是排队
  • 提供失败回退,以在必要时让失效对用户透明化
  • 使用隔离机制(例如『舱壁』/『泳道』模式,熔断器模式等)下降依赖服务对整个系统的影响
  • 针对系统服务的度量、监控和报警,提供优化以知足近实时性的要求
  • 在 Hystrix 绝大部分须要动态调整配置并快速部署到全部应用方面,提供优化以知足快速恢复的要求
  • 能保护应用不受依赖服务的整个执行过程当中失败的影响,而不单单是网络请求

Hystrix实现原理-舱壁模式

  • 货船为了进行防止漏水和火灾的扩散,会将货仓分隔为多个,当发生灾害时,将所在货仓进行隔离就能够下降整艘船的风险。浏览器

 

 

 

Hystrix dashboard 测试

今天根据他人博客上介绍的Spring Cloud,本身尝试敲了下代码。但走到Hystrix实现熔断机制以及监控熔断信息的时候遇到一个问题:Hystrix 自带了一个dashboard,获取监控的时候界面一直是Loading...没有任何反应,如图:服务器

代码请参考https://blog.csdn.net/column/details/15197.html网络

 

点击Monitor Stream以后就跳到下面的界面负载均衡

 

IDEA编辑工具的控制台打印运维

 

浏览器F12 没有任何报错的信息分布式

 

若是直接访问http://localhost:8764/hystrix.stream 则界面一直会打印ping,但没有结果返回:工具

 

 

无心中的测试,发现这个Loading...是一直在等待负载均衡的提供方要去消费服务,即访问负载均衡服务器,去调用客户端,若是有数据响应则监控界面就会有图形数据展现:测试

若是想让图中的数据发生变化,则须要循环屡次的去访问负载均衡的提供方,让其消费服务,以致于达到监控的目的。优化

此时再次访问http://localhost:8764/hystrix.stream,则会有如下数据一直在浏览器中打印:

 

最后,附上一张图形概要以供参考:

相关文章
相关标签/搜索