当前位置: 代码迷 >> 综合 >> How to complete current limiting based on Alibaba Sentinel in the Spring boot project
  详细解决方案

How to complete current limiting based on Alibaba Sentinel in the Spring boot project

热度:92   发布时间:2023-12-14 23:24:14.0

How to complete current limiting based on Alibaba Sentinel in the Spring boot project

    • Run
      • sentinel-dashboard
      • sentinel-sample
    • Configuration
      • sentinel-dashboard
        • sentinel bootstrap

Run

sentinel-dashboard

用下面的命令启动 sentinel-dashboard

java -Dserver.port=19009 -Dcsp.sentinel.dashboard.server=192.168.1.131:19009 -Dproject.name=sentinel-dashboard -jar asserts/sentinel-dashboard-1.8.1.jar

打开浏览器,输入网址http://192.168.1.131:19009/,出现sentinel-dashboard登录页,如下图所示

在这里插入图片描述
输入用户名sentinel、密码sentinel,进入系统,这个时候会打开sentinel-dashboard页面,默认情况下,界面将会显示sentinel-dashboard自身的相关信息,如下图所示。

在这里插入图片描述

sentinel-sample

启动项目sentinel-sample,相关配置参数如下图所示

在这里插入图片描述
在这里插入图片描述
接下来,我们在IntelliJ IDEA Ultimate中启动项目。

Configuration

项目跑起来以后,接下来,我们一起看一下如何基于sentinel的Web控制台即sentinel-dashboard对项目资源做流量控制的配置。

sentinel-dashboard

我们重新回到sentinel-dashboard可以看到其中多了一个名称为SentinelBootstrap的待监控服务,如下图所示。

在这里插入图片描述

sentinel bootstrap

进入SentinelBootstrap服务标签以后,我们看到实例监控页面没有相关的数据,如下图所示,这是因为我们还没有对项目SentinelBootstrap发起请求。

在这里插入图片描述

项目启动以后在浏览器中输入网址http://192.168.1.131:19000/api/welcome就可以看到系统返回’welcome’这样的字符串,如下图所示。在这里插入图片描述
这个时候,我们按F5多刷新几次,然后回到sentinel-dashboard实时监控页面,就会看到有了相关数据,如下图所示。

在这里插入图片描述
接下来,我们针对urlhttp://192.168.1.131:19000/api/welcome设置流控规则。点击“ 簇点链路”标签页,就可以进入 簇点链路页面,如下图所示。

在这里插入图片描述
在 簇点链路页面,我们可以看到有一个名称为GET:/welcome的资源,点击右边的“流控”按钮,系统展示一个新增流控规则对话框,如图所示,这里,我们设置单机阈值为2,点击“新增”按钮新增一条规则,这个时候规则已经生效。
在这里插入图片描述
这个时候,我们点击“流控规则”标签切换到流控规则页面,可以看到系统已经为我们增加了一条针对资源GET:/welcome的流控规则,如下图所示。
在这里插入图片描述
我们回到项目sentinel bootstrap中资源GET:/welcome对应的页面,即http://192.168.1.131:19000/api/welcome,反复按F5完成刷新,这个时候,就会出现返回字符串Blocked by Sentinel (flow limiting)的现象,如下图所示。
在这里插入图片描述

我们回到sentinel-dashboard实时监控页面,就会看到刚才我们模拟测试资源GET:/welcome时,sentinel-dashboard为我们监控到的相关数据,如下图所示。

在这里插入图片描述

  相关解决方案