相关文章:
Spring cloud - 概述
Spring cloud eureka - 注册中心
Spring cloud feign - RPC
Spring cloud ribbon - 负载均衡
Spring cloud hystrix - 断路器
Spring cloud hystrix dashboard - 断路器dashboard
Spring cloud zuul- 网关
关键字
断路器UI
背景
上一节我们讲到了断路器(Hystrix ),Hystrix 可以在系统不稳定时及时断开外部请求,防止雪崩,以达到保护系统的整体稳定性。但是由于这些操作都由Hystrix 自动完成,开发人员无法获知到底哪些服务有问题,以及相应请求的成功率、响应时间等信息以备后续分析和改进。
如果有一款工具可以让我们能直观的看到各服务的实时健康信息,就可以轻松的分析每个服务的调用情况,并能及时分析和解决对应的系统问题。
幸运的是netflix已经帮我们提供了一款基于Hystrix 的实时监控工具 - hystrix-dashbaord,它可以实时收集来自HystrixCommand的度量信息.Hystrix Dashboard把每一个断路器的健康状态以一种高效的方式展示出来。
什么是hystrix dashboard
hystrix dashboard是一款由netfilx提供的,基于hystrix Commond,并将hystrix commond收集到的服务健康信息以图形化展示的界面工具。效果如下:
上图中每一块就代表一个接口的调用指标,具体解释如下:
- 圆形颜色和大小:代表健康情况和流量
- 折线:2分钟内的吞吐率变化情况
- hosts:集群中节点个数
- median: 每个请求时间的中位数
- mean: 平均每个请求消耗的时间
- subscriberGetAccount:
绿200545:代表成功请求数量
蓝0:代表断路数量
黄19:代表表超时的线程数量
紫94:代表线程池拒绝次数,即线程不够用
红0: 失败或异常数量
灰0%: 最后10秒错误率 - host: 各节点每秒的平均请求吞吐量
- cluster: 集群每秒的请求吞吐量
- circuit:代表断路器状态即:是否打开断路器 90th,99th,99.5th:
最后1分钟各种延迟的百分比。如图:90%的请求小于10ms;而99%的请求小于44ms,99.5%的请求在61ms完成。
集成
创建项目
创建一个名为demo-springhystrix的项目如下: