`
m635674608
  • 浏览: 5042525 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Hystrix概述(二)

 
阅读更多

一、hystrix在生产中的建议

1、保持timeout的默认值(1000ms),除非需要修改(其实通常会修改)

2、保持threadpool的的线程数为10个,除非需要更多

3、依赖标准的报警和监控系统来捕获问题

4、通过dashboards的实时监控来动态修改配置,直到满意为止

 

二、配置信息(default或HystrixCommandKey最常用的几项

  • 超时时间(默认1000ms,单位:ms)
    • hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds
    • hystrix.command.HystrixCommandKey.execution.isolation.thread.timeoutInMilliseconds
  • 线程池核心线程数
    • hystrix.threadpool.default.coreSize(默认为10)
  • Queue
    • hystrix.threadpool.default.maxQueueSize(最大排队长度。默认-1,使用 SynchronousQueue。其他值则使用 LinkedBlockingQueue。如果要从-1换成其他值则需重启,即该值不能动态调整,若要动态调整,需要使用到下边这个配置)
    • hystrix.threadpool.default.queueSizeRejectionThreshold(排队线程数量阈值,默认为5,达到时拒绝,如果配置了该选项,队列的大小是该队列)
      • 注意:如果maxQueueSize=-1的话,则该选项不起作用
  • 断路器
    • hystrix.command.default.circuitBreaker.requestVolumeThreshold(当在配置时间窗口内达到此数量的失败后,进行短路。默认20个)
    • hystrix.command.default.circuitBreaker.sleepWindowInMilliseconds(短路多久以后开始尝试是否恢复,默认5s)
    • hystrix.command.default.circuitBreaker.errorThresholdPercentage(出错百分比阈值,当达到此阈值后,开始短路。默认50%)
  • fallback
    • hystrix.command.default.fallback.isolation.semaphore.maxConcurrentRequests(调 用线程允许请求HystrixCommand.GetFallback()的最大数量,默认10。超出时将会有异常抛出,注意:该项配置对于THREAD 隔离模式也起作用)

 

三、监控hystrix

说明:hystrix为每一个commandKey提供了计数器。原理:

附:清晰大图

 

四、常见的hystrix事件类型

  • run()
    • SUCCESS:run()成功,不触发getFallback()
    • FAILURE:run()抛异常,触发getFallback()
    • TIMEOUT:run()超时,触发getFallback()
    • BAD_REQUEST:run()抛出HystrixBadRequestException,不触发getFallback()
    • SHORT_CIRCUITED:断路器开路,触发getFallback()
    • THREAD_POOL_REJECTED:线程池耗尽,触发getFallback()
    • FALLBACK_MISSING:没有实现getFallback(),抛出异常
  • getFallback()
    • FALLBACK_SUCCESS:getFallback()成功,不抛异常
    • FALLBACK_FAILURE:getFallback()失败,抛异常
    • FALLBACK_REJECTION:调用getFallback()的线程数超量,抛异常

五、Metrics storage and Dashboard

仅仅记录hystrix1.5.0及其后续版本,之前的版本的数据结构不一样。

http://www.ahlinux.com/java/18235.html

 

http://my.oschina.net/yu120/blog/714747

分享到:
评论

相关推荐

    hystrix接入.docx

    #### 二、Hystrix介绍 Hystrix是由Netflix开源的一个用于提高分布式系统稳定性的库。它提供了一种机制,用于控制和优化服务之间的相互调用,特别是在面对高并发和潜在故障的情况下。 ##### 功能特性 - **服务隔离...

    SpringCloud——断路器(Hystrix)

    **Hystrix 概述** Spring Cloud Hystrix 是 Netflix 开源的一个库,用于实现容错和隔离,确保在分布式系统中单个组件故障不会导致整个系统瘫痪。Hystrix 提供了断路器、线程池和队列、命令式编程模型等特性,帮助...

    hyrax:Scala 版本的 Hystrix 使用 Spray、akka actor 和 io

    ##概述#####Hyrax 是Scala 版本,使用 scala Futures/Promises 和 Akka Actors/ActorSystems 作为依赖弹性层。 它使用 Akka IO 来实现远程依赖。 它最初只支持 Web 服务,并使用 Spray 来处理 HTTP 请求/响应。 ...

    微服务架构概述视频分享

    微服务架构是一种现代软件开发的方法论,它将大型复杂应用分解为一组小的、独立的服务,每个服务都专注于单一业务功能,...通过观看"微服务架构概述"的视频教程,你将深入理解这一领域的基础概念,并逐步掌握实战技巧。

    spring cloud demo样例

    **Spring Cloud 概述** Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举...

    Spring Cloud面试题 服务注册、负载均衡等

    #### 一、Spring Cloud概述 **Spring Cloud** 是一套完整的微服务解决方案,基于Spring Boot框架,提供了与外部系统的集成能力。它主要包括以下几个方面: 1. **Spring Cloud Stream**: 这是一种构建高度可伸缩的...

    (源码)基于Spring Cloud框架的微服务调用与熔断管理系统.zip

    Feign概述Feign是一个声明式的REST客户端,支持基于接口的注解方式,简化了客户端配置。Spring Cloud对Feign进行了封装,使其支持SpringMVC注解。 快速入门通过引入springcloudstarteropenfeign依赖,编写Feign...

    projeto-spring-cloud:Projeto Spring Cloud实用程序Feign,Ribbon,Hystrix,OAuth,JWT,发现服务器Eureka,API网关Zuul,配置服务器等

    **项目概述** `projeto-spring-cloud` 是一个基于Spring Cloud框架构建的示例项目,旨在展示和实践Spring Cloud的一些核心组件,如Feign、Ribbon、Hystrix、OAuth2、JWT、服务发现服务器Eureka、API网关Zuul以及...

    spring boot+spring cloud视频教学下载全套

    ├2 1.1 微服务架构概述.avi ├20 5.2 Hystrix简介及简单代码示例.avi ├20 5.2Hystrix简介及简单代码事例.avi ├21 Hystrix Health Indicator及Metrics Stream.avi ├22 5.4 Hystrix Health Indicator及Metrics ...

    Spring Cloud 配置入门案例教程.txt

    #### 一、Spring Cloud 概述 Spring Cloud 是一个基于 Spring Boot 实现的微服务云应用开发框架,它提供了微服务开发中所需的一系列工具,包括服务发现注册、配置中心、消息总线、断路器、客户端负载均衡、智能路由...

    day01-SpringCloud01

    一、Spring Cloud概述 Spring Cloud基于Spring Boot,为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)操作的开发...

    feign_test.7z

    一、Feign 概述 Feign 是 Netflix 开源的一个云原生的声明式 HTTP 客户端,它的设计灵感来源于 Ribbon 和 JAX-RS。Feign 的目标是让编写 HTTP 客户端变得更简单,通过注解和接口绑定,可以创建出优雅的 API。Feign ...

    spring cloud 高级视频

    第一章 微服务架构概述 第二章 开始使用Spring Cloud实战微服务 第三章 服务提供者与服务消费者 第四章 服务发现与服务注册 第五章 使用Hystrix保护应用 第六章 使用Zuul构建API Gateway 第七章 Spring Cloud...

    SpringCloud面试专题及答案.pdf

    【Spring Cloud概述】 Spring Cloud是基于Spring Boot的微服务框架,它简化了构建分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...

    尚硅谷SpringCloud视频 + 源码 百度网盘

    #### 1.1 SpringCloud概述 SpringCloud是一套基于Spring Boot实现的微服务云应用开发工具集,它提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、...

    Spring Cloud简明教程

    ### 微服务架构概述 微服务架构是一种将单一应用程序划分成一组小服务的开发方法,每个服务运行在其独立的进程中,服务间通过轻量级的通信机制(通常是HTTP RESTful API)进行交互。微服务架构可以解决单体应用架构...

    基于spring cloud项目源码源码.rar

    一、Spring Cloud概述 Spring Cloud是基于Spring Boot实现的一套微服务解决方案,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式...

    Sentinel技术调研

    ##### 4.1 Hystrix概述 Hystrix是Netflix开发的一款流行的熔断降级库,主要用于处理分布式系统中的延迟和故障问题。它通过隔离各个服务之间的访问点,减少服务间的级联故障,并提供回滚策略来增强系统的整体弹性。 ...

    springcloud视频学习

    二、SpringCloud Rest微服务案例-总体概述 15.尚硅谷_SpringCloud_Rest微服务案例-总体概述.avi视频教程则聚焦于基于RESTful API的微服务实战,主要讲解以下知识点: 1. RESTful API设计原则:包括资源定位、HTTP...

Global site tag (gtag.js) - Google Analytics