hystrix熔断机制修改配置

一、修改参数

设置参数有3个地方:通过日志

2018-02-12 18:07:36.876 DEBUG HystrixPropertiesChainedProperty:93 - Flipping property: hystrix.command.HttpPostCommand.execution.isolation.thread.timeoutInMilliseconds to use NEXT property: hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds = 1000

2018-02-12 18:07:37.113 DEBUG HystrixPropertiesChainedProperty:236 - Property changed: ‘hystrix.command.HttpPostCommand.execution.isolation.thread.timeoutInMilliseconds = 500‘

可以看到3个参数

hystrix.command.HttpPostCommand.execution.isolation.thread.timeoutInMilliseconds

hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds

hystrix.command.HttpPostCommand.execution.isolation.thread.timeoutInMilliseconds

》》其中default是在 command类之外

ConfigurationManager.getConfigInstance().setProperty("hystrix.command.default.circuitBreaker.forceOpen", true);

》》然后剩下的那个可以在command类内修改

二、在 callback中打印异常信息

@Override
protected String getFallback() {
// String reason=null;
// if (isCircuitBreakerOpen()) {
// reason = "Circuit Breaker Open";
// } else if (isResponseRejected()) {
// reason = "Response rejected";
// } else if (isResponseTimedOut()) {
// reason = "Response timed-out";
// }

//System.out.println("进入回调");
log.info("发生了回调异常信息是"+ getExecutionException());

return null;
}

参考

http://www.cnblogs.com/ulysses-you/p/7281662.html

原文地址:https://www.cnblogs.com/amazement/p/8445294.html

时间: 2024-07-31 07:15:39

hystrix熔断机制修改配置的相关文章

SpringCloud系列七:Hystrix 熔断机制(Hystrix基本配置、服务降级、HystrixDashboard服务监控、Turbine聚合监控)

1.概念:Hystrix 熔断机制 2.具体内容 所谓的熔断机制和日常生活中见到电路保险丝是非常相似的,当出现了问题之后,保险丝会自动烧断,以保护我们的电器, 那么如果换到了程序之中呢? 当现在服务的提供方出现了问题之后整个的程序将出现错误的信息显示,而这个时候如果不想出现这样的错误信息,而希望替换为一个错误时的内容. 一个服务挂了后续的服务跟着不能用了,这就是雪崩效应 对于熔断技术的实现需要考虑以下几种情况: · 出现错误之后可以 fallback 错误的处理信息: · 如果要结合 Feign

spring cloud 2.x版本 Ribbon服务发现教程(内含集成Hystrix熔断机制)

本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 前言 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 eureka-server eureka-client 1 Ribbon工程搭建 1.1 创建spring boot工程:eureka-ribbon 1.2 pom.xml所需要依赖的jar包 <dependency> <groupId>org.springframework.clo

Hystrix 熔断机制原理

相关配置 circuitBreaker.enabled 是否开启熔断 circuitBreaker.requestVolumeThreshold 熔断最低触发请求数阈值 circuitBreaker.sleepWindowInMilliseconds 产生熔断后恢复窗口 circuitBreaker.errorThresholdPercentage 错误率阈值 circuitBreaker.forceOpen 强制打开熔断 circuitBreaker.forceClosed 强制关闭熔断 状态

hystrix熔断器之相关配置

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #3933ff } p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco } span.s1 { color: #3933ff } hystrix.command.[commandkey].circuitBreaker.forceOpen 强制开启熔断. p.p1 { margin: 0.0px

Hystrix熔断机制导致误报请求超时错误

问题的过程如下: (1)前端向服务端请求往HBase插入1000条数据: (2)请求经路由网关Zuul传递给HBaseService,HBaseService执行插入操作: (3)插入操作需要的时间超过Zuul设定的阈值,Zuul判定HBaseService服务下线,报错并向前端返回请求超时信息: (4)插入操作正确执行: 原文地址:https://www.cnblogs.com/ratels/p/11106443.html

SpringCloud 基础教程(五) 服务熔断机制(Eureka + Ribbon + Hystrix)

1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud 基础教程(一) 服务中心及集群(Eureka Server) 2.启动[服务提供者]集群,即 Eureka Client 参考 SpringCloud 基础教程(二) 服务注册及集群(Eureka Client) 3.启动[服务消费者],即 Eureka Discovery Client 参考 SpringCloud 基础教程(三) 服务发现及负载均衡(Eureka Discovery Client + Ri

网关中加入熔断机制(Hystrix)

网关中加入熔断机制 在网关中加入熔断机制 添加依赖项 spring-cloud-gateway项目POM文件加入spring-cloud-starter-netflix-hystrix <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </depende

熔断机制hystrix

一.问题产生 雪崩效应:是一种因服务提供者的不可用导致服务调用者的不可用,并将不可用逐渐放大的过程 正常情况下的服务: 某一服务出现异常,拖垮整个服务链路,消耗整个线程队列,造成服务不可用,资源耗尽: 形成过程: 1)服务提供者不可用 a)硬件故障:硬件损坏造成的服务器主机宕机, 网络硬件故障造成的服务提供者的不可访问 b)程序Bug: c)   缓存击穿:缓存击穿一般发生在缓存应用重启, 所有缓存被清空时,以及短时间内大量缓存失效时. 大量的缓存不命中, 使请求直击后端,造成服务提供者超负荷运

springcloud熔断机制

最近项目用到springcloud,研究了下springcloud的熔断机制Hystrix. 熔断机制,就是下游服务出现问题后,为保证整个系统正常运行下去,而提供一种降级服务的机制,通过返回缓存数据或者既定数据,避免出现系统整体雪崩效应.在springcloud中,该功能可通过配置的方式加入到项目中. 理论上需要进行分布式调用的服务都应该加上,在项目中,可根据实际项目需要进行添加. Maven项目中提供远程调用Feign中已经依赖了Hystrix,所以在项目的pom配置上不用做任何改动. 实现步