SpringCloud Hystrix 断路器
2016-12-03 14:09
656 查看
雪崩效应
在微服务架构中通常会有多个服务层调用,大量的微服务通过网络进行通信,从而支撑起整个系统。各个微服务之间也难免存在大量的依赖关系。然而任何服务都不是100%可用的,网络往往也是脆弱的,所以难免有些请求会失败。基础服务的故障导致级联故障,进而造成了整个系统的不可用,这种现象被称为服务雪崩效应。服务雪崩效应描述的是一种因服务提供者的不可用导致服务消费者的不可用,并将不可用逐渐放大的过程。
Netflix Hystrix 断路器
Netflix的Hystrix类库实现了断路器模式,在microservice架构中有多个层的服务调用。一个低水平的服务群中一个服务挂掉会给用户导致级联失效。调用一个特定的服务达到一定阈值(在Hystrix里默认是5秒内20个失败),断路由开启并且调用没有成功的。开发人员能够提供错误原因和开启一个断路由回调。
如何使用Hystrix
1、添加Hystrix依赖
2、在启动类上添加注解:@EnableCircuitBreaker
3、在controller控制器类上使用注解:@HystrixCommand
传播安全上下文或使用Spring Scopes
在微服务架构中通常会有多个服务层调用,大量的微服务通过网络进行通信,从而支撑起整个系统。各个微服务之间也难免存在大量的依赖关系。然而任何服务都不是100%可用的,网络往往也是脆弱的,所以难免有些请求会失败。基础服务的故障导致级联故障,进而造成了整个系统的不可用,这种现象被称为服务雪崩效应。服务雪崩效应描述的是一种因服务提供者的不可用导致服务消费者的不可用,并将不可用逐渐放大的过程。
Netflix Hystrix 断路器
Netflix的Hystrix类库实现了断路器模式,在microservice架构中有多个层的服务调用。一个低水平的服务群中一个服务挂掉会给用户导致级联失效。调用一个特定的服务达到一定阈值(在Hystrix里默认是5秒内20个失败),断路由开启并且调用没有成功的。开发人员能够提供错误原因和开启一个断路由回调。
如何使用Hystrix
1、添加Hystrix依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency>
2、在启动类上添加注解:@EnableCircuitBreaker
3、在controller控制器类上使用注解:@HystrixCommand
@RequestMapping(value = "saveOrUpdateMenu", method = RequestMethod.POST) @ResponseBody @HystrixCommand(fallbackMethod = "saveOrUpdateMenuFallback") public Boolean saveOrUpdateMenu(MenuModel menuModel){ ResponseResult responseResult = menuClient.saveOrUpdateMenu(menuModel); System.out.println(JSON.toJSONString(responseResult)); return true; } public Boolean saveOrUpdateMenuFallback(MenuModel menuModel){ System.out.println("服务不可用。。"); return false; }
传播安全上下文或使用Spring Scopes
相关文章推荐
- SpringCloud 学习 | 第八篇: 断路器监控使用(Hystrix Dashboard)
- SpringCloud之Ribbon和Feign断路器支持(Hystrix)|第四章-yellowcong
- 一起来学SpringCloud之 - 断路器Hystrix(Ribbon)
- 疯狂Spring Cloud连载(18)Hystrix断路器的开启和关闭
- (笔记) SpringCloud之Hystrix断路器 属性详解
- spring cloud 使用Hystrix 实现断路器进行服务容错保护的方法
- SpringCloud之断路器聚合监控(Hystrix Turbine)
- 一起来学SpringCloud之 - 断路器Hystrix(Feign)
- 《spring cloud微服务实战》读书笔记——Spring Cloud Hystrix(三)断路器的原理
- SpringCloud | 断路器 Hystrix(六)
- Spring Cloud构建微服务架构—Hystrix断路器
- SpringCloud: 断路器聚合监控(Hystrix Turbine)
- 玩转SpringCloud(F版本) 三.断路器(Hystrix)RestTemplate+Ribbon和Feign两种方式
- SpringCloud调研系列3.2:断路器-Feign集成Hystrix
- [bigdata-110] spring-cloud-06 Hystrix断路器
- Spring Cloud架构教程 (十六)服务容错保护(Hystrix断路器)【Dalston版】
- springcloud 入门 6 (断路器hystrix)
- spring cloud之断路器hystrix(五)
- spring cloud:三、断路器(hystrix)
- SpringCloud 教程 | 第四篇:断路器(Hystrix)