关于sentinel限流熔断总结

本文介绍Sentinel作为分布式流量防卫兵的功能特性,包括其默认限流算法——滑动窗口,以及快速失败、预热和排队等限流效果。同时,文章还探讨了与Sentinel类似的Hystrix产品,并解释了计数器、漏桶和令牌桶等多种限流算法的工作原理。

1.sentinel是什么?

sentinel是分布式的流量防卫兵

2.跟sentinel类似的产品是什么?

hystrix

3.什么是限流算法

计数器,令牌桶,漏斗算法,滑动窗口

计数器算法:计数器算法指在一段时间内,进行计数,与伐值进行比较,如果超过了伐值则进行限流操作,到了时间临界点,将计数器清零重新计算.

漏桶算法:流量的流入是以不确定的速率率先进入到漏桶,然后漏桶以一定的速度流出,当水流速度过大时直接溢出,然后就拒绝了请求.

4.sentinel默认限流的算法是

滑动窗口

5.sentinel中伐值应用类型

QPS:每秒请求数,线程数

6.@SentinelResource

注解描述的方法进行限流后的异常处理,链路中的叶子节点

异常处理的方法必须是静态的,方法的返回值类型与注解描述的方法一致,参数类型必须是BlockException

7.Sentinel的限流效果有:

快速失败,预热,排队

8.Sentinel熔断降级策略有:

满调用比例,异常比例,异常数

Spring Cloud Sentinel 是一款优秀的开源限流熔断组件,以下是其原理、使用方法和案例的介绍: ### 原理 Sentinel 熔断降级会在调用链路中某个资源出现不稳定状态时(例如调用超时或异常比例升高),对这个资源的调用进行限制,让请求快速失败,避免影响到其他的资源而导致级联错误。当资源被降级后,在接下来的降级时间窗口之内,对该资源的调用都自动熔断(默认行为是抛出 DegradeException) [^2]。 ### 使用方法 #### 集成配置 在 Spring Cloud 项目中集成 Sentinel,需要添加相应的依赖。并且可以通过配置文件进行一些基础配置。 #### 定义限流熔断规则 在 Gateway 模式下,限流熔断规则都是根据网关服务中的 `spring.cloud.gateway.routes.id` 作为资源名称配置的,并且网关模式下的链路资源限流是不生效的 [^1]。 #### 编写降级方法 限流降级方法(熔断同理)需要包含 `BlockException e` 参数,返回值也要保持一致。参数列表中可以把限流方法(熔断同理)的参数加上,这样就可以在降级方法中获取原请求参数做日志等操作。如果降级方法写在与限流方法(熔断同理)不同的类里,需要加上 `static` 修饰符,否则会识别不到 [^3]。 以下是一个降级方法的示例代码: ```java public class SentinelCommonService { /** * 分页查询危险作业信息列表 降级方法,需包含限流方法的所有参数和BlockException参数,且返回值要保持一致 * @param dto * @param e */ public static ResponseResult<PageResult<ConstructionWorkExcelVO>> constructionWorkSearchPageBlock(ConstructionWorkDTO dto, BlockException e) { log.info("分页查询危险作业信息列表请求被限流:{}", dto); throw new ServicesException(ResultStatus.SENTINEL_FLOW_LIMIT); } } ``` ### 案例 在一个 Spring Boot + Spring Cloud Gateway + Alibaba Cloud Sentinel 的项目中,项目接口测试成功之后,打开 Sentinel 控制台页面,可以看到 Sentinel 多了网关服务,并且服务菜单是 Sentinel 的 Gateway 模式。在这个模式下,可以根据网关服务中的 `spring.cloud.gateway.routes.id` 配置限流熔断规则 [^1]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值