Sentinel 是一个Spring Cloud Alibaba 框架的熔断降级组件。
限流和熔断的区别:限流是瞬时流量过大,触发时瞬时拦截多余请求,一般是根据QPS,线程并发数来进行限制;熔断是服务暂时不可用,依赖发生故障,它根据响应时间RT,请求异常比例,请求异常数来限制,持续一段时间后探测恢复。
执行入口:它使用 @SentinelResource 注解设置资源名称,异常回退方法,熔断降级回退方法,我们只需要在 Controller 里的接口方法里加上这个注解即可使用 Sentinel。SentinelResourceAspect 切面拦截@SentinelResource 注解,并把包裹为一个 CtEntry 类,然后搜寻 Sentinel Dashboard 我们定义的熔断降级规则或程序启动时代码写死的规则,执行熔断降级规则。
它使用了拦截器链,按先后顺序执行完几个核心处理器,并最终决定是否放行。
