spring boot快速启动(六)--feign结合Hystrix断路器开发

一、分布式核心知识之熔断、降级讲解

1、用途:系统负载过高,突发流量或者网络等各种异常情况介绍,常用的解决方案
定义讲解:

1.1、熔断:
	保险丝,熔断服务,为了防止整个系统故障,包含子和下游服务
	下单服务 -》商品服务
		        	-》用户服务 (出现异常-》熔断)
1.2、降级:
	抛弃一些非核心的接口和数据
	旅行箱的例子:只带核心的物品,抛弃非核心的,等有条件的时候再去携带这些物品
1.3、熔断和降级互相交集
	相同点:
		1.3.1、从可用性和可靠性触发,为了防止系统崩溃
		1.3.2、最终让用户体验到的是某些功能暂时不能用
	不同点
		1.3.3、服务熔断一般是下游服务故障导致的,而服务降级一般是从整体系统负荷考虑,由调用方控制

二、Netflix开源组件断路器

2.1、什么是Hystrix?
	2.2.1)hystrix对应的中文名字是“豪猪”
	2.2.2)hystrix	英[hɪst'rɪks] 美[hɪst'rɪks]
2.2、为什么要用?
	在一个分布式系统里,一个服务依赖多个服务,可能存在某个服务调用失败,
	比如超时、异常等,如何能够保证在一个依赖出问题的情况下,不会导致整体服务失败,
	通过Hystrix就可以解决
	http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#_circuit_breaker_hystrix_clients
2.3、提供了熔断、隔离、Fallback、cache、监控等功能
2.4、熔断后怎么处理?
	出现错误之后可以 fallback 错误的处理信息
	兜底数据

三、feign结合Hystrix断路器开发

3.1、加入依赖–为了添加@HystrixCommand(fallbackMethod = “saveOrderFail”)注解

  <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    </dependency>

3.2、增加注解
启动类里面增加注解 @EnableCircuitBreaker
3.3、API接口编码实战
熔断-》降级
项目结构
在这里插入图片描述
创建feigin接口远程客户端 在这里插入图片描述
降级故障处理类 里面包含一些兜底数据等基本处理
在这里插入图片描述
feigin调用类 调用feigin接口
在这里插入图片描述
controller层入口方法
在这里插入图片描述
降级处理方法 注:saveOrderFail方法签名要和save方法的一致
在这里插入图片描述
最后注意:一定要开启feigin支持hystrik保护

#开启feign支持断路器保护
feign:
  hystrix:
    enabled: true
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值