通过服务熔断实现服务降级

     @HystrixCommand(fallbackMethod = "reliable",
commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "888")
}
)
@RequestMapping("/echo1")
public String echo1(String param) throws InterruptedException {
if (1 == 1) {
Thread.sleep(880L);
}
/*if (s.hashCode() % 2 == 1) {
throw new IllegalArgumentException("abccc");
}*/
return param;
} public String reliable(String param) {
log.warn("reliable fallback:{}", param);
return "reliable fallback:" + param;
}

可以独立使用,不需要绑定注册中心等其他spring cloud组件

可以用在spring mvc的controller层, 通常用在service层

fallback方法需要和当前方法的参数相同

抛出异常, 超时都会触发熔断, 但是可以配置忽略哪些异常和超时时间的大小

具体配置项@See com.netflix.hystrix.HystrixCommandProperties com.netflix.hystrix.HystrixThreadPoolProperties

circuitBreakerErrorThresholdPercentage:错误比例触发熔断

Hystrix使用小结的更多相关文章

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

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

  2. SpringCloud中使用Hystrix

    1.  引言 一般而言,一个服务都是部署了多台机器的,那么在这种情况下,当其中一个服务挂了以后Hystrix是怎么处理的呢? 为了验证这个问题,我们准备两个服务:user-api 和 app-gate ...

  3. Hystrix是个什么玩意儿

    1. 什么是Hystrix Hystrix是Netflix的一个开源框架,地址如下:https://github.com/Netflix/Hystrix 中文名为“豪猪”,即平时很温顺,在感受到危险的 ...

  4. Hystrix 配置参数全解析

    code[class*="language-"], pre[class*="language-"] { background-color: #fdfdfd; - ...

  5. feignclient设置hystrix参数

    序 feign默认集成了hystrix,那么问题来了,如何像hystrix command那样设置每个方法的hystrix属性呢. 实例 @FeignClient("product" ...

  6. Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控

    目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 ...

  7. Hystrix 断流器

    一.分布式系统面临的问题 服务雪崩 多个服务之间调用的时候,假设微服务 A 调用微服务 B 和微服务 C,,微服务 B 和微服务 C 又调用其他的微服务,这就是所谓的“扇出”.如果扇出的链路上某个微服 ...

  8. 熔断器Hystrix

    什么是服务雪崩? 单个服务发生故障,占用过多的系统资源,从而导致级联故障的情况称为服务雪崩. 什么是Hystrix? 在分布式环境中,许多服务依赖项中的一些必然会失败.(服务挂了) Hystrix是一 ...

  9. hystrix 源码分析以及属性的配置

    一.feign与hystix结合 1.1测试环境搭建 架构如图: 非常简单,就是Order服务通过feign调用product服务的一个获取商品信息的一个接口: package com.yang.xi ...

随机推荐

  1. 删除文件时提示 你需要来自system的权限才能对此文件夹进行更改

    问题描述: 我的计算机是Win7 x64操作系统,在我的计算机的F盘中,不知道什么时候多了个“12e4k69m762nzcgt8zx”这样一个文件夹,应该是某个软件自己创建并留下的文件夹,想删除掉则提 ...

  2. RESTEasy常用注解

    一.@Path,标注资源类或方法的相对路径          Path参数的形式有三种:          1.固定值          2.纯正则表达式          3.固定值和正则表达式的混 ...

  3. rails中一个窗体多个模型——fields_for

    详细参考 http://railscasts.com/episodes/73-complex-forms-part-1中part-1.2.3部分 借助field_for可以生成表单来处理两个或更多模型 ...

  4. JAVA基础知识(12)-----同步

    好处:解决了线程安全问题.弊端:相对降低性能,因为判断锁需要消耗资源,产生了死锁.定义同步是有前提的:1,必须要有两个或者两个以上的线程,才需要同步.2,多个线程必须保证使用的是同一个锁. 同步的第二 ...

  5. JS计算文件的md5

    首先需要引入js文件(二选一): https://raw.github.com/satazor/SparkMD5/master/spark-md5.js https://github.com/sata ...

  6. Mac For Mongodb安装启动、停止及启动授权

    1.到Mongodb官网下载相应的安装包 地址:https://www.mongodb.com/download-center?jmp=nav#community 2.Mac Mongodb安装过程 ...

  7. springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行

    情况一: springmvc chrome jsonviewer 一起请求 重复提提交 controller重复执行 2次执行 Chrome浏览器地址栏访问接口url,重复请求问题解决   不论刷新还 ...

  8. qboimathtest1 t1 魔法串

    题目 小 N 最近在沉迷数学问题. 对于一个数字串 S,如果可以将它划分成两个数字 A.B,满足: 1. S=AB. 2. A.B 均不包含前导 0. 3. B 是 A 的倍数,且B / A是完全立方 ...

  9. C#----接口与多继承

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 接口 { ...

  10. BZOJ 1012【线段树】

    题意: Q L 询问数列最后 L 个数中最大的数. A n 将 n + t ( t_init = 0 ), 然后插到最后去. 思路: 感觉动态地插入,很有问题. 数组地长度会时常变化,但是可以先预处理 ...