SpringCloud IDEA 教学 (四) 断路器(Hystrix)
写在开始
在SpringCloud项目中,服务之间相互调用(RPC Remote Procedure Call —远程过程调用),处于调用链路底层的服务产生不可用情况时,请求会产生堆积使得服务器线程阻塞,甚至导致雪崩效应。使用断路器(Hystrix)可预防服务雪崩。
正文开始
本篇在第三篇基础上进行代码编写,介绍的断路器是基于Ribbon类型的断路器
新建项目的用户可以在构建项目时勾选下面组件

已经搭建项目的用户可以在pom中增加
<!--断路器插件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
另外还要做一下配置
Application增加
@EnableHystrix
方法增加失败注解
@RequestMapping(value = "/invokeService", method = RequestMethod.GET)
@HystrixCommand(fallbackMethod = "hiError")
public String invokeService(@RequestParam(value = "name") String name) {
System.out.println("入参name:" + name);
String json = restTemplate.getForObject("http://CLOUD-SERVICE/getServiceNameAndPort?name=" + name, String.class);
System.out.println(json);
return json;
}
定义调用方法失败时的方法
public String hiError(String name) {
return "--------------hi," + name + "微服务down了--------------";
}
---------------------------------------------------配置完毕 下面做两个测试-------------------------------------------------------
1启动服务中心、S端、C端

接口请求 http://localhost:8003/invokeService?name=tianmh 返回结果 Hello tianmh servicePort 8001
2停掉S端

接口请求 http://localhost:8003/invokeService?name=tianmh 返回结果 --------------hi,tianmh微服务down了--------------
写在最后
本篇介绍了断路器,它可以保证在异常发生时调用方有序的运行。另外springcloud为该功能提供了一套图形化管理界面,在下一篇进行介绍。
以上,亲测。
欢迎在评论区指正,
如果感觉本教程对您有所帮助,希望可以为笔者打Call
SpringCloud IDEA 教学 (四) 断路器(Hystrix)的更多相关文章
- SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)
前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...
- SpringCloud学习成长 四 断路器(Hystrix)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...
- springcloud 入门 6 (断路器hystrix)
hystrix:断路器 断路器是为了解决服务故障的“雪崩”, 雪崩是指,由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请 ...
- SpringCloud IDEA 教学 (五) 断路器控制台(HystrixDashboard)
写在开头 断路器控制台是为了查看断路器运行情况而研发的.本章介绍了断路器控制台的搭建,代码基于之前Client的搭建.HystrixDashboard基于之前配置好的,使用了HystrixComman ...
- 【SpringCloud构建微服务系列】学习断路器Hystrix
一.Hystrix简介 在微服务架构中经常包括多个服务层,比如A为B提供服务,B为C和D提供服务,如果A出故障了就会导致B也不可用,最终导致C和D也不可用,这就形成了雪崩效应. 所以为了应对这种情况, ...
- SpringCloud断路器(Hystrix)和服务降级案列
断路器(Hystrix) 为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自 ...
- SpringCloud 在Feign上使用Hystrix(断路由)
SpringCloud 在Feign上使用Hystrix(断路由) 第一步:由于Feign的起步依赖中已经引入了Hystrix的依赖,所以只需要开启Hystrix的功能,在properties文件中 ...
- SpringCloud----熔断机制 -- 断路器hystrix
参考借鉴:http://www.cnblogs.com/chry/p/7279856.html SpringCloud Netflix实现了断路器库的名字叫Hystrix. 在微服务架构下,通常会有多 ...
- 断路器Hystrix与Turbine集群监控-Spring Cloud学习第三天(非原创)
文章大纲 一.Hystrix基础介绍二.断路器Hystrix简单使用三.自定义Hystrix请求命令四.Hystrix的服务降级与异常处理五.Hystrix的请求缓存与请求合并六.Hystrix仪表盘 ...
随机推荐
- oracle sqldrl命令与以及ctl文件
具体操作如下: 第一步:先编辑好数据控制文件 xx.ctl,如test.ctl options(skip=1) --跳过第一行(看实际情况) load data infile 'C:\Users\ ...
- Oracle数据库,简单SQL练习与答案
1.数据 --创建职员表create table tbEmp( eID number primary key, --职员编号 eName varchar2(20) not null, --职员姓名 e ...
- ASP.Net 中的三种控件
---恢复内容开始--- 第一种:HTML控件 ASP.Net把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性.无法在服务器端进行处理. 比如: <input111 type=&quo ...
- 正则验证input输入,要求只能输入正数,小数点后保留两位。
<input type="number" step="1" min="0" onkeyup="this.value= thi ...
- 泛型List集合转化为DateTable
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; name ...
- linux服务器项目部署【完整版】
之前总玩v8虚拟机,最近看到腾讯云学生套餐很实惠就租了个linux服务器搭一个项目,做下这个项目部署全记录,即为了方便以后查看,同时也分享下自己的经验,不足之处还请多多指教,废话不多说,直接开始!!! ...
- ACM1002:A + B Problem II
Problem Description I have a very simple problem for you. Given two integers A and B, your job is to ...
- (杭电 1014)Uniform Generator
Uniform Generator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- solr环境搭建及java小demo
一配置solr环境 1.下载solr 2.配置solr(最好单独分离出一个tomcat,一台机器启动多个tomcat参见:http://www.cnblogs.com/lxlwellaccessful ...
- jquery.validate验证,jquery.Form插件提交,主要可以异步提交文件
<script type="text/javascript"> $(function () { $form = $("#manuForm"); $b ...