sentinel的介绍:
sentinel是阿里的一套开源的服务保护框架,主要作用:流量控制,熔断降级
流量控制: 限定调用该服务的次数(qps或thread),防止被上游服务压死
熔断降级: 当慢调用比例或异常比例超过阈值,暂时切点对下游服务的调用,防止被下游 服务拖死.
流量控制:
1.流控规则:
01.阈值类型
QPS:每秒钟访问的次数
线程数: 接口的线程数
02.流控模式:
直接: 对当前资源的流量控制
关联: 被关联的资源达到阈值时限流自己, 例如:支付达到阈值时限流订单
03.流控效果:
快速失败:直接流量控制
Warm Up:刚开始阈值只有5(单机阈值/3),5秒钟后阈值才提到15
排队等待:阈值时则排队等待,等待时间为1秒
2.热点规则:
01.规则说明:将规则应用到参数上, eg: 5秒钟之内只能携带相同参数2次
02.参数例外项: 如参数=6, 则5秒钟只能可以挟带5次
3.系统规则:
01.规则说明:系统规则是针对一个微服务的设定, eg: sentinel-consumer服务的qps=2
4.授权规则:
01.规则说明:根据调用来源判断该次请求是否放行
02.黑白名单: 若配置黑名单则来源位于黑名单内不允许通过, 若配置白名单则反之;
5.降级规则:
01.异常比例:
统计时长: 5秒钟之内
最小请求数: 至少发送5次请求
比例阈值:超过0.1报错
熔断时长: 熔断5秒钟
02.异常数:
统计时长:5秒钟之内
最小请求数:至少发送5次请求
异常数:超过一个报错
熔断时长: 熔断5秒钟
03.慢调用比例:
统计时长:5秒钟之内
最小请求数:至少发5次请求
比例阈值:超过0.1超时
熔断时长:熔断5秒钟
最大 RT:响应时间是1毫秒