springcloud feign增加熔断器Hystrix
1.依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
2.springboot启动类上不需要额外加注解,feignclient注解默认支持hystrix
@EnableFeignClients //1.支持Hystrix和他的fallback 2.支持ribbon 的负载均衡 3.启动时会进行包扫描,扫描所有带@FeignClient的类并进行处理
3.配置增加
#开启熔断
feign.hystrix.enabled=true
#默认超时时间
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=120000
#特定feign的超时时间
hystrix.command.MqSendFeign#sendMq(MqMessage).execution.isolation.thread.timeoutInMilliseconds=1000
4.feign客户端注解中fallback指定熔断处理类,需要知道具体调用失败原因可以使用fallbackFactory
feign
@FeignClient(name = "test",fallback = MqSendFeignFallback.class)
//@FeignClient(name = "test",fallbackFactory = MqsendFeignFallbackFactory.class) //fallbackFactory可以获取调用失败原因
public interface MqSendFeign { @PostMapping("/ss/common/sendMq")
Result sendMq(@RequestBody @Valid MqMessage mqMessage); }
fallback
@Slf4j
@Component
public class MqSendFeignFallback implements MqSendFeign { @Override
public Result sendMq(MqMessage mqMessage) {
log.info("MqSendFeignFallback error");
return new Result();
}
}
fallbackFactory
@Slf4j
@Component
public class MqsendFeignFallbackFactory implements FallbackFactory<MqSendFeign> { @Override
public MqSendFeign create(Throwable throwable) {
return new MqSendFeign() {
@Override
public Result sendMq(MqMessage mqMessage) {
log.error("MqsendFeignFallbackFactory error",throwable);
return new Result();
}
};
}
}
springcloud feign增加熔断器Hystrix的更多相关文章
- springcloud(九):熔断器Hystrix和Feign的应用案例
因为 feign 中已经支持了 Hystrix ,所以在 Feign 中使用 Hystrix 时,不需要导包,也不需要在入口类上面增加额外的注解: Feign 虽然支持了 Hystrix ,但是默认 ...
- springcloud(九):熔断器Hystrix和Feign的全套应用案例(二)
一.. 创建Eureka-Server 服务中心项目 1. 创建Eureka-Server 服务中心项目架构如下 2. pom.xml <dependencies> <depende ...
- springcloud(四):熔断器Hystrix
说起springcloud熔断让我想起了去年股市中的熔断,多次痛的领悟,随意实施的熔断对整个系统的影响是灾难性的,好了接下来我们还是说正事. 熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基 ...
- springcloud(八):熔断器Hystrix
熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩效应是一种因“服务提供者”的不可用导致“服务 ...
- 跟我学SpringCloud | 第四篇:熔断器Hystrix
跟我学SpringCloud | 第四篇:熔断器Hystrix 1. 熔断器 服务雪崩 在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中 ...
- SpringCloud 在Feign上使用Hystrix(断路由)
SpringCloud 在Feign上使用Hystrix(断路由) 第一步:由于Feign的起步依赖中已经引入了Hystrix的依赖,所以只需要开启Hystrix的功能,在properties文件中 ...
- SpringCloud(4)熔断器 Hystrix
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...
- 熔断器---Hystrix
Hystrix:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力. 说到熔断器,先要引入另外一个词,雪崩效应. 雪崩效应,百度百科的解释是这样的: ...
- spring boot 2.0.3+spring cloud (Finchley)4、熔断器Hystrix
在分布式系统中服务与服务之间的依赖错综复杂,一种不可避免的情况就是某些服务会出现故障,导致依赖于他们的其他服务出现远程调度的线程阻塞.某个服务的单个点的请求故障会导致用户的请求处于阻塞状态,最终的结果 ...
随机推荐
- 转 Tomcat访问日志详细配置
配置http访问日志.Tomcat自带的能够记录的http访问日志已经很详细了取消下面这段的注释: <Valve className="org.apache.catalina.valv ...
- React 组件嵌套 父子关系
代码实例; <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=" ...
- web之请求转发与重定向
请求转发: 重定向:
- SSD算法的实现
本文目的:介绍一个超赞的项目--用Keras来实现SSD算法. 本文目录: 0 前言 1 如何训练SSD模型 2 如何评估SSD模型 3 如何微调SSD模型 4 其他注意点 0 前言 我在学习完SSD ...
- enumerate()(Python)
>>> E=enumerate('spam') >>> E <enumerate object at 0x1021ceca8> >>> ...
- djangorestframework-jwt 分页器 三种
数据准备 # models class Teacher(models.Model): name = models.CharField(max_length=32) salary = models.De ...
- 火狐插件火狐黑客插件将Firefox变成黑客工具的七个插件
目前很多插件不支持 Firefox 3.5 哦1. Add N Edit Cookies 查看和修改本地的Cookie,Cookie欺骗必备. 下载:http://code.google.com/p/ ...
- MPU6050寄存器记录
参考资料:http://blog.sina.com.cn/s/blog_8240cbef01018i10.html 不过有一些寄存器没有写到,所以我自己加一点: 1)Register 25 - IN ...
- boot、cloud
最近在学习Spring Boot也整理了一些文章,有需要的可以参考一下 https://www.zhihu.com/question/39483566 Spring Cloud是一系列框架的有序集合. ...
- OC学习篇之---单例模式
在之前的一片文章中介绍了对象的拷贝相关知识:http://blog.csdn.net/jiangwei0910410003/article/details/41926531,今天我们来看一下OC中的单 ...