1.微服务组件 alibaba-sentinel 介绍?
Sentinel是阿里巴巴开源的一款微服务流量控制组件,可以进行流量控制与实时监控、熔断下游不常用应用,非常适合解决微服务中高并发引起的雪崩问题。
2.sentinel中限流功能介绍? 支持的限流规则?
三种流控模式:
•直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式;
•关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流;
•链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流;
三种流控效果:
快速失败
Warm up
排队等待
3.sentinel中线程隔离介绍?
sentinel通过设置请求服务的线程数量来达到线程隔离的作用。是一种计数器模式的线程隔离技术
图中设置的就是访问order服务的每秒线程数不能超过5个
4.sentinel中断路器功能介绍?
熔断降级是解决雪崩问题的重要手段。其思路是由断路器统计服务调用的异常比例、慢请求比例,如果超出阈值则会熔断该服务。即拦截访问该服务的一切请求;而当服务恢复时,断路器会放行访问该服务的请求。
熔断策略有三种:
- 慢调用
- 异常比例
- 异常数
5.Feign + Sentinel实现服务降级配置?
Feign实现sentinel服务降级配置步骤:
- 在application.yml中配置:feign.sentienl.enable=true
- 给FeignClient编写FallbackFactory并注册为Bean
- 将FallbackFactory配置到FeignClient