龙空技术网

Hystrix进阶攻略之降级策略

码上甄选 582

前言:

此时咱们对“mysql8022解压版安装教程”都比较着重,咱们都需要分析一些“mysql8022解压版安装教程”的相关内容。那么小编同时在网络上收集了一些有关“mysql8022解压版安装教程””的相关文章,希望看官们能喜欢,同学们一起来了解一下吧!

一、背景

什么是降级呢?

顾名思义,系统出现故障的时候,能够采取某种策略,来勉强维持系统的正常运行。

hystrix调用各种接口,或者访问外部依赖,mysql,redis,zookeeper,kafka,等等,如果出现了任何异常的情况

比如说报错了,访问mysql报错,redis报错,zookeeper报错,kafka报错,error

对每个外部依赖,无论是服务接口,中间件,资源隔离,对外部依赖只能用一定量的资源去访问,线程池/信号量,如果资源池已满,reject

访问外部依赖的时候,访问时间过长,可能就会导致超时,报一个TimeoutException异常,timeout

二、核心代码

重写fallback降级逻辑:读取本地缓存

@Overrideprotected AdInfo getFallback() { System.out.println("从本地缓存获取过期的广告数据,adId=" + adId); return JSONObject.parseObject(AdCache.getAdInfo(adId), AdInfo.class);}

三、实战演练

代码下载地址:

项目名:spring-boot-hystrix-fallback

依赖系统:spring-boot-hystrix-ad

本次系统:spring-boot-hystrix-fallback

1、手动模拟请求错误

@Overrideprotected AdInfo run() throws Exception { // 如果调用失败了,报错了,那么就会去调用fallback降级机制 throw new Exception();​}

2、系统启动

启动spring-boot-hystrix-ad启动spring-boot-hystrix-fallback

3、请求测试

标签: #mysql8022解压版安装教程