Hystrix

1. 监控 总共请求多少次,有多少次失败   假设失败率达倒10% 断路器打开
2. 断路器的状态
3. 分流
4. 自我修复(断路器状态的切换)
 
措施:
1 将问题模块“隔离”
2 加入容错机制
3 加入“熔断”,在一定时间内,不再调用问题模块,以维持本身稳定
 
Hystrix被设计的目标是:
  1. 对通过第三方客户端库访问的依赖项(通常是通过网络)的延迟和故障进行保护和控制。
  2. 在复杂的分布式系统中阻止级联故障。
  3. 快速失败,快速恢复。
  4. 回退,尽可能优雅地降级。
  5. 启用近实时监控、警报和操作控制。
 
使用方法:
1) <dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
 
2)当接口请求超过1秒回调用
@GetMapping("/movie/{id}")
@HystrixCommand(fallbackMethod = "findByIdFallback")
public User findById(@PathVariable Long id) {
return this.restTemplate.getForObject("http://microservice-provider-user/simple/" + id, User.class);
}
 
原文地址:https://www.cnblogs.com/YangBinChina/p/13785279.html