1.微服务组件 alibaba-sentinel 介绍?

Sentinel是阿里巴巴开源的一款微服务流量控制组件,可以进行流量控制与实时监控、熔断下游不常用应用,非常适合解决微服务中高并发引起的雪崩问题。
image.png

2.sentinel中限流功能介绍? 支持的限流规则?

三种流控模式:
image.png

•直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式;

•关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流;

•链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流;

三种流控效果:

  • 快速失败

  • Warm up

  • 排队等待

3.sentinel中线程隔离介绍?

image.png
sentinel通过设置请求服务的线程数量来达到线程隔离的作用。是一种计数器模式的线程隔离技术
image.png
图中设置的就是访问order服务的每秒线程数不能超过5个

4.sentinel中断路器功能介绍?

熔断降级是解决雪崩问题的重要手段。其思路是由断路器统计服务调用的异常比例、慢请求比例,如果超出阈值则会熔断该服务。即拦截访问该服务的一切请求;而当服务恢复时,断路器会放行访问该服务的请求。
image.png
熔断策略有三种:

  • 慢调用

image.png

  • 异常比例

image.png

  • 异常数

image.png

5.Feign + Sentinel实现服务降级配置?

Feign实现sentinel服务降级配置步骤:

  • 在application.yml中配置:feign.sentienl.enable=true
  • 给FeignClient编写FallbackFactory并注册为Bean
  • 将FallbackFactory配置到FeignClient