sentinel面试题

编程知识 更新时间:2023-04-07 03:50:18

1
q 线程隔离上sentinel和hystix区别
a hystix用线程池实现县城隔离,任何时刻大于线程池最大线程数的线程自然会被隔离,优点是支持异步、隔离性强(暂时不理解为啥隔离性强),缺点是一个service一个线程池,线程池相对更消耗资源,service多的话线程池也多扛不住啊;
sentinel基于信号量(计数器),来个请求信号量减一,优点是相比线程池轻量级,性能好,service多也无妨,缺点是不能异步。

2
q sentinel限流算法
a 看图:






3
q 源码概述
a
入口:
1)strater–sentinel.jar的spring.factoies文件里有个SentinelWebAutoConfiguration,他实现了springmvc的WebMvcConfiger的addInterceptors()方法注册springmvc拦截器,拦截所有controller接口添加前后限流、熔断降级等处理。
2)@sentinelresource注解,这个是通过aop实现的前后限流、熔断降级等处理。

大概流程:
通过一个slotchain封装了如下图的各种slot,每个slot完成如下图描述的任务,基于方法栈的责任链模式,如果判断qps、线程数等超过阈值就抛异常到最外层方法让外层方法处理(通常就是直接return返回响应)

更多推荐

sentinel面试题

本文发布于:2023-04-07 03:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/21607ea6a4738fdf3122bfa02bfbbf4a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题   sentinel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 51974文章数
  • 14阅读数
  • 0评论数