Sentinel(Java面试题)

1、什么是Sentinel?

Sentinel是一个面试分布式架构的轻量级服务保护框架,主要以
流量控制、熔断降级、系统负载保护等多个维度

2、服务接口保护有哪些方案?

(1)使用服务保护框架Sentinel,h,进行服务限流、熔断、降级
(2)黑白名单限制访问

3、什么是服务限流、服务熔断、服务降级、服务雪崩?

服务限流:在接口访问超过设置的阈值,走服务降级fallback方法
服务熔断:接口出现异常或者处理时间过长,直接熔断,走服务降级fallback方法
服务降级:在服务限流或者服务熔断的情况下,走服务降级fallback方法,一段时间内不再走业务逻辑方法
服务雪崩:默认的情况下,一个服务器只有一个线程池,在高并发情况下,一个接口访问次数过多,把线程池线程全部占用了,导致其他接口不可用,造成服务雪崩。黑客攻击同一个接口
解决方法:线程池隔离或者信号量隔离
线程池隔离就是每个接口设置一个线程池,这样占用内存非常大
信号量隔离就是每个接口设置一个阈值,超过阈值直接走服务降级

4、服务降级有哪三种策略?

1、rt(平均响应时间):一秒内接口的访问响应时间超过指定阈值,则触发服务熔断,调用服务降级方法,指定时间(时间窗口 秒)内,不能够再次访问接口,一秒内访问五次,五次的平均响应时间超过阈值,最大阈值为4.9秒,要改最大阈值要去改配置
2、异常比例:一秒内请求出现异常的比例超过指定阈值,服务降级,时间窗口(秒)-
3、异常次数:一分钟内请求出现异常的次数超过指定阈值,服务降级,时间窗口(分钟)-

5、限流配置两种方案

1、手动使用代码配置
2、Sentinel控制台形式配置

6、sentinel规则数据持久化的四种方案

默认情况下Sentinel不对数据持久化,需要自己独立持久化
1、Nacos分布式配置中心:有界面,也不用重启服务器,推荐
2、携程阿波罗:有界面,也不用重启服务器,推荐
3、ZK,没有界面,不推荐
4、存放在本地文件:不容易修改配置,不推荐

7、Sentinel与hytrix的区别?

Sentinel功能比较丰富,有控制台,国人写的易于维护

8、QPS和线程数的区别?

QPS是每秒访问次数,线程数就是信号量隔离,一个接口的最大访问线程数量

你可能感兴趣的:(面试题总结)