Sentinel 安装和流控的基本实现

安装控制台

  1. 下载对应 sentinel 版本的控制台 jar 包
    地址:官方下载地址

  2. 在下载的路径下执行 cmd 命令 ,启动该jar包
    java -jar sentinel-dashboard-1.7.1.jar
    看到启动成功后
    在这里插入图片描述
    不要关闭命令窗口

  3. 访问 dashboard 默认端口为 8080 ,http://localhost:8080 这样就可以看到我们对应的 dashboard 页面,账号密码都是 sentinel 就可以登录进去啦

功能演示

  1. 首先要启动 nacos
  2. pom 文件中引入 sentinel 的坐标
        <!--SpringCloud ailibaba sentinel -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>
  1. 配置 yaml 文件
spring:
  application:
    name: cloudalibaba-sentinel-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
    sentinel:
      transport:
        dashboard: localhost:8080 #配置Sentinel dashboard地址
        # 应用与sentinel交互的默认端口是8719,如果该端口被占用则会自动+1 变成 8720 ,直到找到未被占用的端口
        port: 8719
  1. 创建 Controller 就写最基本的controller就可以,为演示功能暂时只写controller
    @GetMapping("/testA")
    public String testA() {
        return "-----testA";
    }

    @GetMapping("/testB")
    public String testB() {
        return "----testB";
    }

配置流控内容

sentinel 的 dashboard 打开默认是空白的,它的监控是懒加载模式,所以先去访问服务连接后再刷新 dashboard 就能够看到监视的服务了
簇点链路中会看到我们访问过的资源地址,点击后边的流控,即可以配置流控规则
在这里插入图片描述

对于流控中的流控模式和流控效果解释如下
流控模式:

  • 直接:访问达到限流条件时,直接限流
    比如上图中阈值为 QPS=1 那么如果在一秒内访问刷新多次这个路径,则会被限流
  • 关联:当关联的资源达到阈值时,就限流自己
    比如下图中 testB 关联 testA,那么如果访问 A 达到了 QPS=1 这个阈值,那么再访问 B 时会被限流
    在这里插入图片描述
  • 链路:只记录指定链路上的流量(指定资源从入口资源进来的流量,如果达到阈值,就进行限流)【api级别的针对来源】
    假设有两个服务C和D 同时调用testA 这个服务的话,那么如果C 调用testA 达到阈值被限流后,D服务仍然可以调用testA 服务

流控效果:

  • 快速失败:直接失败,抛异常
  • 在这里插入图片描述
  • Warm Up:根据 codeFactor (冷加载因子,默认 3) 的值,从阈值/codeFactor ,经过预热时长,才达到设置的QPS阈值
    举例如下图:起始阈值为10/3 经过5秒后阈值逐渐升值到10
    在这里插入图片描述
  • 排队等待:匀速排队,让请求以均匀的速度通过,阈值类型必须设成QPS 否则无效,设置的含义: /testA 每秒1次请求,超过的话就排队等待,等待的超时时间为20000毫秒

这样我们对于sentinel流控的基本实现算是结束了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼白z

感谢老板请我喝咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值