- 背景之服务雪崩
- Hystrix是什么
- Hystrix功能
- 服务降级(fallback)
服务降级现象比如: 服务器忙,请稍后再试.不让客户端等待并立刻返回一个友好提示.
那些情况下会降级:
1) 程序运行异常
2) 超时
3) 服务熔断触发服务降级
4) 线程池/信号量打满也会导致服务降级
注解使用@HystrixCommand - 服务熔断(类似保险丝)
达到最大服务访问后,直接拒绝访问,然后调用服务降级的方法并返回友好提示.
当检测到该节点微服务调用响应正常后,恢复调用链路.
springcloud框架中,熔断机制通过Hystrix实现,Hystrix会监控微服务间的调用状况,当失败的调用达到一定阈值,缺省是5s内20次调用失败,就会启动熔断机制.注解使用@HystrixCommand - 服务限流
秒杀高并发等操作,严禁一窝蜂的过来产生拥挤,设定能够提供服务的个数,没有获得服务的的排序,有序进行. - 接近实时的监控
使用HystrixDashboard实现
配置1. pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
配置2. application.xml
server:
port: 9001
配置3. 启动类
@SpringBootApplication
// 开启Hystrix图形化监控工具,比如请求次数、失败率等
@EnableHystrixDashboard
public class HystrixDashboardMain9001 {
public static void main(String[] args) {
SpringApplication.run(HystrixDashboardMain9001.class, args);
}
}
- 熔断类型
- 服务熔断断路器最重要的三个参数
- 服务熔断断路器开启或者关闭的条件
- 服务熔断断路器打开之后的细节