(56)Part14-Sentinel服务容错-04-Sentinel的概念和功能

一、实现接口限流

1、添加流控规则

(56)Part14-Sentinel服务容错-04-Sentinel的概念和功能_第1张图片

2、基本参数

  • 资源名:唯一名称,默认是请求路径,可自定义
  • 针对来源:指定对哪个微服务进行限流,默认指default,意思是不区分来源,全部限制
  • 阈值类型/单机阈值:
  • QPS(每秒请求数量): 当调用该接口的QPS达到阈值的时候,进行限流
  • 线程数:当调用该接口的线程数达到阈值的时候,进行限流
  • 是否集群:暂不需要集群

(56)Part14-Sentinel服务容错-04-Sentinel的概念和功能_第2张图片

3、测试限流效果

快速访问message1

(56)Part14-Sentinel服务容错-04-Sentinel的概念和功能_第3张图片

二、基本概念

1、资源

资源就是Sentinel要保护的东西

资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,可以是一个服务,也可以是一个方法,甚至可以是一段代码。

  • 案例中的message1方法就可以认为是一个资源

2、规则

规则就是用来定义如何进行保护资源的

作用在资源之上, 定义以什么样的方式保护资源,主要包括流量控制规则、熔断降级规则以及系统保护规则。

  • 案例中就是为message1资源设置了一种流控规则, 限制了进入message1的流量

三、重要功能

(56)Part14-Sentinel服务容错-04-Sentinel的概念和功能_第4张图片

1、流量控制

思想:保证自己不被上游服务压垮

任意时间到来的请求往往是随机不可控的,而系统的处理能力是有限的。我们需要根据系统的处理能力对流量进行控制。Sentinel可以根据需要把随机的请求调整成合适的形状。

2、熔断降级

思想:保证自己不被下游服务拖垮

当检测到调用链路中某个资源出现不稳定的表现,例如请求响应时间长或异常比例升高的时候,则对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联故障。

3、系统负载保护

思想:保证外界环境良好(CPU、内存)

当系统负载较高的时候,如果还持续让请求进入可能会导致系统崩溃,无法响应。在集群环境下,会把本应这台机器承载的流量转发到其它的机器上去。如果这个时候其它的机器也处在一个边缘状态的时候,Sentinel 提供了对应的保护机制,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求。

你可能感兴趣的:(在线教育)