当前位置: 首页 > news >正文

完成Sentinel-Dashboard控制台数据的持久化-同步到Nacos

本次案例采用的是Sentinel1.8.8版本

一、Sentinel源码环境搭建

1、下载Sentinel源码工程

git clone https://github.com/alibaba/Sentinel.git

2、导入到idea

这里可以先运行DashboardApplication.java试一下是否运行成功,若成功,源码环境搭建完毕,若失败,则请看以下解决方案。

3、Java版本Bug解决(若无此问题可跳过)

先把项目的java版本给指定,调成你对应的版本,最好是1.8

对应的moudle也修改成java 8

接下来再次运行 DashboardApplication.java试一下是否运行成功,若报以下错:

说明对应sentinel-core这个模块的java版本也需要改

 再次运行,可能还有其他模块的报错,根据报错信息,只要java 13版本出错的,都可以找到报错信息中的moudle,然后进行版本修改。

如果出现java 17版本的错误,那么还需要改一个地方。

这里也是,哪个模块报错就修改哪个模块

 至此,Sentinel-Dashboard应该能正常启动,源码环境搭建完毕。

二、源码改造

后端代码改造

 首先将下面这行代码注释,因为要将配置推送到nacos,所以才将以下作用域注释掉 

接下来将test包下的相关代码复制到src相关的包下

修改NacosConfig 

    @Beanpublic ConfigService nacosConfigService() throws Exception {Properties properties = new Properties();properties.put("serverAddr","127.0.0.1:8848");properties.put("namespace","f1ce1184-d664-46a0-947d-a6cfc0aea7a8");return ConfigFactory.createConfigService(properties);}

修改以下代码,换成Nacos的provider和publisher

前端代码改造

 修改前端代码:

          <li ui-sref-active="active" ng-if="!entry.isGateway"><a ui-sref="dashboard.flow({app: entry.app})"><i class="glyphicon glyphicon-filter"></i>&nbsp;&nbsp;流控规则-V2</a></li>

添加运行参数:

-Dserver.port=8858 -Dcsp.sentinel.dashboard.server=localhost:8858 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port=8720

最后的-Dcsp.sentinel.api.port=8720 这里的8720不要和你的SpringBoot 中transport端口一样,会造成冲突

接着运行 DashboardApplication,能正常运行代表改造成功。

本地SpringBoot应用改造

打开sentinel的网页进行流量控制的编辑,就可以实现自动推送到SpringBoot应用以及 Nacos中了

 

可以发现自动写入nacos了,而且SpringBoot的限流也实时生效了 。

http://www.lryc.cn/news/459775.html

相关文章:

  • RocketMq详解:三、RocketMq通用生产和消费方法改造
  • 基于SpringBoot+Vue+Uniapp的仓库点单小程序的详细设计和实现
  • R语言从多波段tif数据中逐个提取单波段数据
  • 华为海思:大小海思的双轮驱动战略分析
  • LeetCode | 704.二分查找
  • TCP三握四挥
  • java项目之大型商场应急预案管理系统(源码+文档)
  • 【C++】--内存管理
  • 【设计模式系列】模板方法模式
  • java8 Stream流详细API及用法
  • Redis——持久化
  • 川字结构布局/国字结构布局
  • 2013年国赛高教杯数学建模C题古塔的变形解题全过程文档及程序
  • web 0基础第一节 文本标签
  • Zookeeper快速入门:部署服务、基本概念与操作
  • 【Sqlite】sqlite内部函数sqlite3_value_text特性
  • 树莓派应用--AI项目实战篇来啦-4.OpenCV读取、写入和显示视频
  • 智能电子后视镜,汽车驾驶更安全,会是一种趋势
  • IEC104规约的秘密之九----链路层和应用层
  • 最新Prompt预设词指令教程大全ChatGPT、AI智能体(300+预设词应用)
  • DockerCompose 启动 open-match
  • Chainlit集成Dashscope实现语音交互网页对话AI应用
  • Canal 扩展篇(阿里开源用于数据同步备份,监控表和表字段(日志))
  • 顺序表的定义
  • 青少年编程能力等级测评CPA C++一级试卷(1)
  • R语言中的plumber介绍
  • uniapp 设置 tabbar 的 midButton 按钮
  • php 生成随机数
  • MySQL 8.4修改初始化后的默认密码
  • 前端开发笔记--css 黑马程序员1