我是靠谱客的博主 大力眼神,最近开发中收集的这篇文章主要介绍spring cloud hystrix学习总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 hystrix的使用:
引入:

org.springframework.cloud
spring-cloud-starter-netflix-hystrix

和spring cloud +springboot相关jar包
造启动类上加上注解:@EnableCircuitBreaker或者@EnableHystrix就可以实现服务熔断了

2种方式:
1 注解:
@HystrixCommand(fallbackMethod=“error”,commandProperties={
@HystrixProperty(name=“execution.isolation.thread.timeoutInMilliseconds”,value=“100”),
@HystrixProperty(name=“execution.timeout.enabled”,value=“false”)
})
注意:
1 fallbackMethod方法必须和执行的方法在同一个类中
2 方法签名一样(可以抛出异常)
相关属性可以查阅官方文档:
https://github.com/Netflix/Hystrix/wiki/Configuration
2 通过继承类com.netflix.hystrix.HystrixCommand实现
需要重写:getFallback()方法,该方法就是熔断方法
run方法就是业务执行方法
相关的设置可以通过构造器设置
在feign中的使用:
feign中默认是继承了hystrix的,老版本默认是打开的,最近的版本需要通过配置文件打开,(feign.hystrix.enabled=true)实现方式概述如下:
@FeignClient(name = “sc-provider-service”, fallback = UserServiceFallback.class)
通过设置FeignClient的属性指定容错类实现相应的容错

2 hystrix的实现源码分析:
hystrix关键类:断路器 HystrixCircuitBreaker—>HystrixCircuitBreakerImpl实现
三种状态:
enum Status {
CLOSED, OPEN, HALF_OPEN;
}
针对每个HystrixCommandGroupKey都有一个断路器
里面有个方法:allowRequest根据配置的各种条件设置是否通过请求实现熔断

最后

以上就是大力眼神为你收集整理的spring cloud hystrix学习总结的全部内容,希望文章能够帮你解决spring cloud hystrix学习总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部