2.慢调用比例是指:请求数超过所设置的数量后,平均响应时间超过设定的毫秒数的30%,则对请求进行熔断,熔断时长为你所设置的值, 所设置的秒后恢正常
3.Sentinel异常处理:系统提供了默认的异常处理机制,当默认处理机制不满足用户的需求时那么就可自定义,定义方式上可以直接或间接实现BlockEceptionHandler接口,并将对象交给Spring容器管理
面试分析4. 为何降级熔断:让外部应用停止对服务的访问,生活中的跳闸,路障设置 此路不通
5.为什么要进行熔断:平均响应速度越来越慢或经常出现异常,这样可能会导致调用链堆积,最终系统崩溃
6.sentinel中限流,降级的异常父类是谁:(BlockException)
7.sentinel出现降级熔断时,系统底层抛出的异常是谁:(DegradeException)
8.sentinel中异常处理接口是谁:(BlockExceptionHandler)
9.sebtinel中异常处理接口下默认的实现类为:(DafaultBlockExceptionHandler)
10.假如sentinel中默认的异常处理规则不满足用户需怎么办: 直接或间接实现BlockExceptionHandler
11.sentienl熔断降级策略有哪些:慢调用,异常比例,异常数
热点规则:1.热点规则的限流模式只有QPS模式(这叫热点),参数索引@SentinelResource注解的方法参数下标,0代表第一个参数,1代表第二个参数,单机阈值及统计窗口时长表示此窗口时间超过阈值就限流
然后出现500异常表示限流成功
2.热点参数就是特殊的流控,流控设置是针对整个请求的,但热点参数它可以设置到具体那个参数,甚至参数针对的值,这样更灵活的进行流控管理
3.设计特定参数
例如:参数等于5,阈值限流100 需要在两秒内访问100次 其他参数阈值为1
面试分析1.如何理解热点数据:访问频度比较高的数据,某些商品,某篇文章,某个视频
2.热点数据的限流规则是:主要针对参数进行限流设计
3.热点数据中的特殊参数如何理解:热点限流中的某个参数值得阈值设计
4.对于热点数据得访问数据限流以后底层异常是什么:ParamFlowException
sentinel系统规则(了解)系统是一种全局设计规则其中:
Load(仅对 Linux/Unix-like 机器生效):当系统 load1 超过阈值,且系统当前的并发线程数超过系统容量时才会触发系统保护。系统容量由系统的 maxQps * minRt 计算得出。设定参考值一般是 CPU cores * 2.5。
CPU使用率:当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0)。
RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
说明,系统保护规则是应用整体维度的,而不是资源维度的,并且仅对入口流量生效。入口流量指的是进入应用的流量(EntryType.IN),比如 Web 服务。
1.如何理解sentinel中的系统规则 :是对所有链路的控制规则,是一种系统保护策略
2.sentinel的常用系统规则有哪些: RT,QPS,CPU,线程,Load-linux,unix
3.sentinel系统保护规则被触发以后底层会抛出什么异常:SystemBolckException
sentinel授权规则(重要)很多时候 需要根据调用方来限制是否通过,这时候可以使用sentinel的黑白名单控制的功能,黑白名单根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内是才能通过,若设置黑名单则只有请求来源于黑名单内才能通过 其余的请求通过.
案例:
1.当客户端发起一个请求时,这个请会被sentinel拦截器进行拦截,拦截器回到用Request originParser对象的ParseOrigin方法对请求进行解析
2.发送请求时所传递的参数名是什么,传给Origin
3返回值:代码如何写由业务决定,基于请求对象获取http请求行,请求头,请求体中的数据,这里解析后返回的数据,会于sentinel控制台的值进行对比然后基于黑白名单规则进行限制
面试分析如何理解Sentinel中的授权规则: (对指定资源的访问给出的一种简易的授权策略)
Sentinel的授权规则是如何设计的: (白名单和黑名单)
如何理解Sentinel中的白名单: (允许访问的资源名单)
如何理解Sentinel中的黑名单: (不允许访问的资源名单)、
Sentinel如何识别白名单和黑名单: (在拦截器中通过调用RequestOriginParser对象的方法检测具体的规则)
授权规则中RequestOriginParser类的做用是什么: 对流控应用值进行解析,检查服务访问时传入的值是否与RequestOriginParser的parseOrigin方法返回值是否相同。)
1.获取经常访问最频繁的内容
2.获取最久不用的内容
3.获取历史浏览记录
Sentinel中用到的设计模式:
1.建造者模式
2.工厂模式
3.策略模式
4.漏桶模式
5.令牌桶模式
6.单例模式
总结1.sentinel降级(熔断), 出现不稳定的系统服务时,暂时对此服务的访问
2.sentinel实现热点参数限流, 热点视频,文章
3.sentinel系统规则配置, 例如cpu使用率,QPS
4.sentinel授权设置 , 黑名单和白名单 黑白名单设计又业务决定
常见问题分析1.如何理解熔断
2.如何自定义熔断异常处理规则 (实现BlockExceptionHandler接口)
3.如何理解热点参数 (频繁的访问数据,系统底层如何判断哪些数据是频繁访问-lru算法)
4.系统规则是全局规则吗 是的
5.授权规则需要自己写请求解析类吗 (需要,实现RequestOriginParser)
常见Bug分析注意注解和请求路径别写错了
设置熔断时别用错名字
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)