一、基本方式

  • hystrix为每一个commandKey提供了计数器

二、实现流程

  • https://raw.githubusercontent.com/wiki/Netflix/Hystrix/images/metrics-generation.png

三、Hystrix event types

1、什么情况下会触发fallback方法?

2、fallback方法在什么情况下会抛出异常

四、metrics storage

1、实现原理

  • 当计数结果(metrics)产生之后,这些结果会在被推到其他系统中前存储一段时间。

2、存储结构

  • hystrix会将计数结果存储在内存数据结构里(in-memory data structures)。这个数据结构在1.5.0之后进行了改变。

2.1、高于1.4.x版本

  • HystrixRollingNumber记录events("三"中)的counts(HystrixCommandMetrics的父类HystrixMetrics的属性)
  • HystrixRollingPercentile记录感兴趣的分布的数量。例如:记录command的延迟,collapser的批量size。(HystrixCommandMetrics的属性)

注意:

  • 当command执行时,计数结果会被同步写到如上的两个数据结构中。
  • 如果该command是多个线程在执行,HystrixRollingNumber和HystrixRollingPercentile内部会有一个同步逻辑来达到线程安全(我们不需要再外部去做线程安全处理)
  • 以上这两个数据结构支持滚动模型,即只保存最新的值(而metrics会根据配置保存多个值,比如保存每一秒的值)

2.2、HystrixRollingNumber

当执行一个command的时候,HystrixRollingNumber会被初始化

五、metrics reads

1、所有hystrix-contrib中的metrics publishers and streams可以从上述的数据结构中读取信息。

2、数据结构只存储了最新的值,我们想看之前的值,只能通过分析HystrixRequestLog

3、The HystrixRequestLog tracks all events in a request, and makes them available as a string。

六、metrics event stream

1、原理

  • 只要客户端连接还连着,hystrix-metrics-event-stream就会不断的向客户端以text/event-stream的形式推送计数结果(metrics)

2、

七、metrics publisher

附6 hystrix metrics and monitor的更多相关文章

  1. 【附6】hystrix metrics and monitor

    一.基本方式 hystrix为每一个commandKey提供了计数器 二.实现流程 https://raw.githubusercontent.com/wiki/Netflix/Hystrix/ima ...

  2. 附2 hystrix详述(2)- 配置

    一.hystrix在生产中的建议 1.保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2.保持threadpool的的线程数为10个,除非需要更多 3.依赖标准的报警和监控 ...

  3. 附1 hystrix详述(1)

    一.hystrix的作用 控制被依赖服务的延时和失败 防止在复杂系统中的级联失败 可以进行快速失败(不需要等待)和快速恢复(当依赖服务失效后又恢复正常,其对应的线程池会被清理干净,即剩下的都是未使用的 ...

  4. 第二十五章 springboot + hystrixdashboard

    注意: hystrix基本使用:第十九章 springboot + hystrix(1) hystrix计数原理:附6 hystrix metrics and monitor 一.hystrixdas ...

  5. 【第二十五章】 springboot + hystrixdashboard

    注意: hystrix基本使用:第十九章 springboot + hystrix(1) hystrix计数原理:附6 hystrix metrics and monitor 一.hystrixdas ...

  6. hystrix(2) metrics

    上一节讲到了hystrix提供的五个功能,这一节我们首先来讲hystrix中提供实时执行metrics信息的实现.为什么先讲metrics,因为很多功能都是基于metrics的数据来实现的,它是很多功 ...

  7. hystrix文档翻译之metrics

     metrics和监控 动机 HystrixCommands和HystrixObservableCommands执行过程中会产生相关运行情况的metrics.这些metrics对于监控系统表现有很大的 ...

  8. .NET Core微服务之基于Steeltoe使用Hystrix熔断保护与监控

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 =>  Steeltoe目录快速导航: 1. 基于Steeltoe使用Spring Cloud Eureka 2. 基于Steelt ...

  9. Spring Cloud(六):Hystrix 监控数据聚合 Turbine【Finchley 版】

    Spring Cloud(六):Hystrix 监控数据聚合 Turbine[Finchley 版]  发表于 2018-04-17 |  更新于 2018-05-07 |  上一篇我们介绍了使用 H ...

随机推荐

  1. php利用root权限执行shell脚本 (转)

    转一篇博客,之前搞这个东西搞了好久,结果今天晚上看到了一篇救命博客,瞬间开心了...转载转载 利用sudo来赋予Apache的用户root的执行权限,下面记录一下: 利用PHP利用root权限执行sh ...

  2. 牛客练习赛1 A - 矩阵

    链接:https://www.nowcoder.com/acm/contest/2/A来源:牛客网 题目描述 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至 ...

  3. Maven项目使用阿里云的Maven库

    Maven项目下载一些jar包非常慢,有时候一个项目能下一个上午,因此可以考虑使用阿里云的Maven库,因为是国内的,所以下载速度非常酷 单个项目使用阿里云的Maven库: pom文件中 <!- ...

  4. java异常及日志注意事项

    一.异常注意事项 简单整理了下关于异常的规范: 1)      在异常处理模块中应提供精确.易读的错误原因信息. 2)      不要处理能够避免的异常. 3)      一个方法不应该抛出太多类型的 ...

  5. python opencv3 直线检测

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 读入图像 ...

  6. JavaScript数据类型学习脑图:

  7. 线性表之顺序栈C++实现

    线性表之顺序栈 栈是限定仅在表尾(栈顶)进行插入删除操作的线性表,FILO:先进后出 一.顺序栈的头文件:SeqStack.h //顺序栈头文件 #include<iostream> us ...

  8. Codeforces Round #355 (Div. 2) A. Vanya and Fence 水题

    A. Vanya and Fence 题目连接: http://www.codeforces.com/contest/677/problem/A Description Vanya and his f ...

  9. HTML的各个标签的默认样式

    head{ display: none } body{ margin: 8px;line-height: 1.12 } button, textarea,input, object,select { ...

  10. Spring Batch 批处理框架介绍

    前言 在大型的企业应用中,或多或少都会存在大量的任务需要处理,如邮件批量通知所有将要过期的会员,日终更新订单信息等.而在批量处理任务的过程中,又需要注意很多细节,如任务异常.性能瓶颈等等.那么,使用一 ...