• 解决Hystrix Dashboard 一直是Loading ...的情况


    Hystrix是什么

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

    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,则会有以下数据一直在浏览器中打印:

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

  • 相关阅读:
    Proguard打包混淆报错:can't find superclass or interface
    proguard returned with error code 1.异常的解决方法
    android 混淆配置
    解决android混淆编译出现Proguard returned with error code 1和文件名、目录名或卷标语法不正确错误
    Eclipse提示No java virtual machine
    [mysql]数据库查询实例
    [算法]高效求素数
    [笔试]程序员面试宝典
    [linux]进程间通信IPC
    [linux]信号的捕获和处理
  • 原文地址:https://www.cnblogs.com/hejianjun/p/8670693.html
Copyright © 2020-2023  润新知