springboot框架项目实践应用十二(sentinel控制面板)

1.引言

sentinel不单提供了丰富、灵活的各种规则:流控、降级、热点、系统、授权,还提供了可视化的控制面板dashboard,通过控制面板可以实现

  • 规则实时配置、动态刷新
  • 资源监控

下面我们来搭建一个sentinel控制面板,它其实是一个基于springboot的应用,因此搭建起来非常简单!

2.下载sentinel dashboard

访问地址:github.com/alibaba/Sen... dashboard项目。

我下载的是整个sentinel项目,访问地址:github.com/alibaba/Sen...

找到sentinel-dashboard,进入目录,执行命令

shell 复制代码
mvn clean package

即可打包sentinel-dashboard

3.启动sentinel dashboard

打开控制台窗口,执行以下命令启动控制面板

shell 复制代码
java -Dserver.port=8858 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

启动完成,访问地址:http://127.0.0.1:8858/,输入默认的sentinel账号:sentinel/sentinel,即可进入控制面板

成功登陆后主界面

4.应用接入sentinel dashboard

登录sentinel dashboard控制面板,看到左边菜单展现应用,应用下有相应的规则子菜单:实时监控、簇点链路、流控规则、熔断规则、热点规则、系统规则、授权规则、集群流控、机器列表。

通过该控制面板,我们可以给每个应用实时配置规则,实现动态刷新。那么关键是如何把应用接入进来呢?非常简单。

4.1.引入依赖

sentinel提供了sentinel-transport-simple-http模块,负责应用与控制面板之间的通信

xml 复制代码
<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-transport-simple-http</artifactId>
   <version>1.8.2</version>
</dependency>

4.2.设置启动应用参数

应用接入sentinel dashboard控制面板,需要在启动时,设置相应的jvm参数

  • 指定控制面板server地址
  • 以及本地应用通过监听哪个端口,来实现与sentinel dashboard通信
shell 复制代码
-Dcsp.sentinel.dashboard.server=127.0.0.1:8858 -Dcsp.sentinel.api.port=8719

比如我在idea启动项目时,进行了设置

4.3.启动应用,查看控制面板

注意:应用与sentinel dashboard之间是懒加载,启动应用后,需要访问应用,才能在控制面板看到应用的信息。访问地址:http://127.0.0.1:8080/sentinel/degrade?userId=1

刷新控制面板,看到应用已经加载到sentinel dashboard

点击流控规则

点击熔断规则

可以看到应用中,初始加载的流控规则、熔断规则已经在控制面板中展示

5.动态刷新规则

我们前面说过,通过sentinel控制面板,可以实现规则的配置、动态刷新规则、以及监控。来试一下

5.1.查看流控规则

可以看到,这正是我们在应用中初始化加载的规则,此时配置的阈值是1,即每秒中超过1次请求,会发生流控。

5.2.修改流控规则

将流控规则,阈值调整为:100,表示每秒钟中允许通过100个请求,超过100才会流控。

然后再次访问:http://127.0.0.1:8080/sentinel/flow?userId=1,疯狂刷新,发现不限流了!

相关推荐
咖啡教室12 分钟前
每日一个计算机小知识:Bit和Byte(比特和字节)
后端
陈一Tender13 分钟前
JavaWeb后端实战(登录认证 & 令牌技术 & 拦截器 & 过滤器)
java·开发语言·spring boot·mysql
咖啡教室22 分钟前
每日一个计算机小知识:Linux
linux·后端
IT_陈寒37 分钟前
Vite 5个隐藏技巧让你的项目构建速度提升50%,第3个太香了!
前端·人工智能·后端
用户40993225021239 分钟前
复杂查询总拖后腿?PostgreSQL多列索引+覆盖索引的神仙技巧你get没?
后端·ai编程·trae
凤山老林1 小时前
排序算法:详解插入排序
java·开发语言·后端·算法·排序算法
洛克大航海1 小时前
3-SpringCloud-LoadBalancer-OpenFeign服务调用与负载均衡
spring·spring cloud·负载均衡·openfeign·loadbalancer
低音钢琴2 小时前
【SpringBoot从初学者到专家的成长18】SpringBoot中的数据持久化:JPA与Hibernate的结合
spring boot·后端·hibernate
paopaokaka_luck2 小时前
基于SpringBoot+Vue的社区诊所管理系统(AI问答、webSocket实时聊天、Echarts图形化分析)
vue.js·人工智能·spring boot·后端·websocket
李慕婉学姐2 小时前
Springboot黄河文化科普网站5q37v(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端