Sentinel实现流控应用

Sentinel实现流控应用

1.安装并启动Dashboard控制台
1)依赖安装

需要openjdk1.8以上

yum install java-1.8.0-openjdk.aarch64

2)配置环境变量

需要设置JAVA_HOME变量

vim /etc/profile,增加如下内容

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-7.b13.el7.ns7.01.aarch64/jre

让修改立即生效:source /etc/profile

3)官网下载Jar包

wget https://github.com/alibaba/Sentinel/releases/download/1.7.0/sentinel-dashboard-1.7.0.jar

默认下载目录/usr/local/src

4)启动控制台

cd /usr/local/src

java -jar sentinel-dashboard-1.7.0.jar
在这里插入图片描述

默认端口8080,开发端口8080

firewall-cmd --zone=public --add-port=8080/tcp --permanent

firewall-cmd --reload

5)远程访问控制台

本地浏览器访问http://192.168.8.81:8080/#/dashboard/home进行登录,默认账号密码均是sentinel,进入首页
在这里插入图片描述

2.Sentinel实现直接限流
1)添加依赖

  • 添加的spring-cloud-alibaba-dependencies和 spring-cloud-starter-alibaba-sentinel版本必须一致,且版本不能太低,否则可能获取不到控制台数据以及无法配置clientIp
    在这里插入图片描述

2)添加配置

  • 此处如果出现下面抓包的IP和本机IP不一致的情况需配置sentinel客户端的ClientIp为本地IP
    在这里插入图片描述

在这里插入图片描述

3)限流埋点(自定义埋点)
在这里插入图片描述

4)创建快速失败的直接限流模式

访问本地8080端口
在这里插入图片描述

访问sentinel控制台

在这里插入图片描述

进入流控规则,添加QPS单机阈值为2的直接流控模式的快速失败限流规则
在这里插入图片描述

5)测试快速失败的直接限流模式

多次快速访问http://localhost:8088/waita,当QPS超过2时,直接返回以下错误

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Mon Aug 03 17:47:17 CST 2020
There was an unexpected error (type=Internal Server Error, status=500).
No message available

在这里插入图片描述

在sentinel控制台也能看到实时监控

在这里插入图片描述

3.Sentinel实现关联限流
1)添加依赖

在这里插入图片描述

2)添加配置
在这里插入图片描述

3)编写测试的控制器

编写两个接口用于测试,R1和R2

在这里插入图片描述

4)构建关联限流规则

启动应用,访问sentinel控制台http://192.168.8.81:8080/

在这里插入图片描述

新增直接失败的关联限流的流控规则

在这里插入图片描述

5)测试关联限流

下载Apache的压力测试工具ab.exe发送并发流量请求,使用压测工具发送并发流量超过QPS值大于1的流量给接口R2

在这里插入图片描述

同时访问R1接口会出现访问被阻止现象
在这里插入图片描述

而在sentinel控制台的实时监控会检测到访问R1接口的QPS被拒绝访问

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值