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

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

一、Sentinel源码环境搭建

1、下载Sentinel源码工程

bash 复制代码
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

java 复制代码
    @Bean
    public 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

前端代码改造

修改前端代码:

html 复制代码
          <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>

添加运行参数:

bash 复制代码
-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的限流也实时生效了 。

相关推荐
@HNUSTer14 小时前
基于 GEE 平台用 Sentinel-1 SAR 数据实现山区潜在滑坡检测
云计算·sentinel·数据集·遥感大数据·gee·云平台·sar
还是鼠鼠3 天前
《黑马商城》微服务保护-详细介绍【简单易懂注释版】
java·spring boot·spring·spring cloud·sentinel·maven
月夕·花晨6 天前
Gateway-过滤器
java·分布式·spring·spring cloud·微服务·gateway·sentinel
非凡ghost8 天前
Hard Disk Sentinel(固态硬盘监控) 多语便携版
windows·sentinel·软件需求
柳贯一(逆流河版)11 天前
Sentinel 深度解析:限流与熔断降级的微服务稳定性保障实践
微服务·架构·sentinel
耳东哇11 天前
sentinel docker gateway k8s 集群 主从
docker·gateway·sentinel
遥感之家12 天前
AWS下载sentinel-2原始影像
云计算·sentinel·aws
月夕·花晨12 天前
Gateway-断言
java·开发语言·分布式·spring cloud·微服务·nacos·sentinel
齐 飞14 天前
Spring Cloud Alibaba快速入门-Sentinel熔断规则
spring boot·spring cloud·sentinel
齐 飞15 天前
Spring Cloud Alibaba快速入门-Sentinel流量控制(FlowRule)
spring cloud·微服务·sentinel