Sentinel限流熔断应用实践入门

Sentinel概述

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

Sentinel核心分为两个部分:

核心库(Java 客户端):能够运行于所有 Java 运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。
控制台(Dashboard):基于 Spring Boot 开发,打包后可以直接运行。

Sentinel限流入门
概述
我们系统中的数据库连接池,线程池,nginx的瞬时并发等在使用时都会给定一个限定的值,这本身就是一种限流的设计。限流的目的防止恶意请求流量、恶意攻击,或者防止流量超过系统峰值

第一步需要添加依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

第二部:配置bootstrap.yml,添加sentinel

spring:
  cloud:
    sentinel:
      transport:
         dashboard: localhost:8180 # 指定sentinel控制台地址。

第三步,根据需要创建演示对象

空白
~~~

Sentinel的控制台其实就是一个SpringBoot编写的程序,我们需要将我们的服务注册到控制台上,即在微服务中指定控制台的地址,并且还要在消费端开启一个与sentinel控制台传递数据端的端口,控制台可以通过此端口调用微服务中的监控程序来获取各种信息。


Sentinel是什么?(阿里推出一个流量控制平台,防卫兵)
类似Sentinel的产品你知道有什么?(hystrix)
Sentinel是如何对请求进行限流的?(基于sentinel依赖提供的拦截器)
你了解哪些限流算法?(计数器、令牌桶、漏斗算法,滑动窗口算法,…)
Sentinel 默认的限流算法是什么?(滑动窗口算法)
 
@SentinelResource 

阈值类型
QPS(Queries Per Second):当调用相关url对应的资源时,QPS达到单机阈值时,就会限流。
线程数:当调用相关url对应的资源时,线程数达到单机阈值时,就会限流。 


设置限流模式
直接模式
Sentinel默认的流控处理就是【直接->快速失败】

关联模式
当关联的资源达到指定阈值,就限流自己

链路模式
链路模式只记录指定链路入口的流量。也就是当多个服务对指定资源调用时,假如流量超出了指定阈值,则进行限流。被调用的方法用@SentinelResource进行注解,然后分别用不同业务方法对此业务进行调用,假如A业务设置了链路模式的限流,在B业务中是不受影响的



你了解sentinel中的阈值应用类型吗?(两种-QPS,线程数)
Sentinel的限流规则中默认有哪些限流模式?(直连,关联,链路)
Sentinel的限流效果有哪些?(快速失败,预热,排队)
为什么要限流? (请求大,资源处理能力不足)
你了解的限流组件有什么? (Sentinel,…)
Sentinel如何实现限流的?(对请求进行拦截,然后通过限流算法对请求进行限制)
Sentinel这里默认使用的限流拦截器是谁?(AbstractSentinelInterceptor->HandlerInterceptor的子类)
你了解Sentinel限流有哪些算法? (计数器,令牌桶,漏桶,滑动窗口算法~sentinel默认)
Sentinel中出现限流异常的父类类型是什么?(BlockException)
Sentinel中默认的限流异常处理器是谁? (DefaultBlockExceptionHandler)
我们可以自定义限流异常处理器吗?(直接或间接实现BlockExceptionHandler接口并交给spring管理)
你了解Sentinel有哪些阈值类型?(QPS,线程数)
Sentinel的流控模式有哪些? (直接模式,关联模式,链路模式)
如何理解Sentinel的关联限流?(霸权方式,当对A的资源的访问量比较大时,限流其它资源的访问)
如何理解Sentinel的链路限流?(对同一个资源的访问,可能会有多条链路,可以对指定链路进行限流)
@SentinelResource注解的作用是什么?(定义限流切入点方法,底层可以基于aop方式对请求链路进行限制)
Sentinel常见的流控效果有哪些?(快速失败,warm up,排队等待)
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值