十二、断路器-Hystrix 的认识
2017-07-23 16:58
113 查看
前言:
在微服务架构中,系统是拆分成一个个的服务单元,各单元间通过服务注册与发现的方式互相依赖。每个单元都在不同的进程中运行,都是通过远程调用的方式进行通信,这样就有可能因为网络原因或是依赖服务自身问题出现调用延迟或者故障,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会因依赖方响应慢或者不响应导致调用方等待而形成任务积压,最终导致自身服务的瘫痪。
为了解决这样的问题,因此产生了断路器的概念。
一、 断路器的概念
在分布式架构中,断路器的作用是当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。
Hystrix 就是具备有以上功能的应用。
二、 Hysteria 对 Ribbon 的支持
1、 加入 jar:
2、 开启断路器服务:
3、 添加注解:
4、 增加方法:
在微服务架构中,系统是拆分成一个个的服务单元,各单元间通过服务注册与发现的方式互相依赖。每个单元都在不同的进程中运行,都是通过远程调用的方式进行通信,这样就有可能因为网络原因或是依赖服务自身问题出现调用延迟或者故障,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会因依赖方响应慢或者不响应导致调用方等待而形成任务积压,最终导致自身服务的瘫痪。
为了解决这样的问题,因此产生了断路器的概念。
一、 断路器的概念
在分布式架构中,断路器的作用是当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。
Hystrix 就是具备有以上功能的应用。
二、 Hysteria 对 Ribbon 的支持
1、 加入 jar:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix</artifactId> </dependency>
2、 开启断路器服务:
@EnableCircuitBreaker
3、 添加注解:
@HystrixCommand(fallbackMethod = "getFallback")
4、 增加方法:
public String getFallback(int id) { System.out.println("调用远程接口异常,返回自定义信息"); return "自定义信息"; }
相关文章推荐
- 企业级 SpringCloud 教程 (十二) 断路器监控(Hystrix Dashboard)
- Spring cloud系列十二 监控Hystrix界面:Hystrix dashboard 和 Turbine
- Spring Cloud Spring Boot mybatis 企业分布式微服务云(九)服务容错保护(Hystrix断路器)【Dalston版】
- 史上最简单的SpringCloud教程 | 第十二篇: 断路器监控(Hystrix Dashboard)
- springcloud 中使用eureka/ribbon/Hystrix负载均衡及断路器
- Spring Cloud(Dalston.SR5)--Hystrix 断路器
- Spring Cloud入门教程-Hystrix断路器实现容错和降级
- Spring Cloud构建微服务架构—Hystrix断路器
- spring cloud Hystrix断路器的使用(熔断器)
- 认识Hystrix
- 断路器-Hystrix的深入了解
- Spring Cloud 入门教程(八): 断路器指标数据监控Hystrix Dashboard 和 Turbine
- 断路器(Hystrix)
- SpringCloud | 断路器 Hystrix(六)
- 史上最简单的SpringCloud教程 | 第十三篇: 断路器聚合监控(Hystrix Turbine)
- 第四篇:断路器(Hystrix)
- Spring cloud系列八 Hystrix的用处、解决的问题、工作流程图、断路器流程
- Spring Cloud构建微服务架构-Hystrix断路器
- Hystrix-超时机制和断路器模式
- 【微服务架构】SpringCloud之Hystrix断路器(六)