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

Sentinel+nacos实现push模式规则持久化

一、源码下载

  1. 官方源码地址:Sentinel的源码托管在GitHub上,可以通过以下地址下载:

    https://github.com/alibaba/Sentinel
    
  2. 版本选择:建议选择稳定版本,1.8.6。可以通过GitHub的releases页面下载特定版本:

    https://github.com/alibaba/Sentinel/releases
    

二、源码修改(以Nacos持久化为例,修改好的源码放在文章最后)

1. 基础环境准备

  • 使用IDEA或Eclipse导入sentinel-dashboard项目
  • 确保Java版本为1.8或以上

2. 主要修改步骤

  1. 修改pom.xml
    • 注释掉sentinel-datasource-nacos依赖的test scope
    <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId><!--<scope>test</scope>-->
    </dependency>
    

在这里插入图片描述

  1. 移动测试代码

    • test/com.alibaba.csp.sentinel.dashboard.rule.nacos下的文件复制到main/java对应目录
  2. 修改nacos地址
    在这里插入图片描述
    在sentinel–dashboard的application.properties中添加nacos地址配置:

在这里插入图片描述

  1. 修改规则发布/拉取实现
    在这里插入图片描述

  2. 修改控制台页面
    在这里插入图片描述

  3. 打包发布
    在这里插入图片描述

最后在运行jar包的时候可以指定nacos的地址

  1. 客户端的配置

引入依赖:

        <dependency><groupId>com.alibaba.csp</groupId><artifactId>sentinel-datasource-nacos</artifactId></dependency>

在application.yml增加sentinel以下配置:

spring:#  profiles:#    active: companyapplication:name: order-service # 服务名称cloud:datasource:flow:nacos:server-addr: 192.168.56.11:8848data-id: order-service-flow-rulesgroup-id: SENTINEL_GROUPrule-type: flow

最后运行客户端程序。

  1. 测试效果

在控制台添加流控规则:
在这里插入图片描述
查看nacos上的配置文件,可以看到已经将规则配置持久化到nacos里了:

在这里插入图片描述
用jmeter测试客户端规则是否生效,可以看到已经触发限流规则:

在这里插入图片描述
在这里插入图片描述

至此,sentinel的规则持久化就已经实现

3. 其他持久化方案

除了Nacos,还可以改造支持:

  • Apollo:类似Nacos改造方式,使用apollo-openapi依赖
  • MySQL:修改源码实现监控数据持久化到数据库

改造后的源码连接:git源码

http://www.dtcms.com/a/276641.html

相关文章:

  • Java生产带文字、带边框的二维码
  • matplotlib:饼图、环形图、爆炸式饼图
  • 五、深度学习——CNN
  • Raft 代码分析
  • 基于STM32F412+RT-Thread的智能汽车CAN通信仪表盘
  • 深度学习-卷积化
  • Kerberos5 安装
  • 2025XYD Summer Camp 7.11 模考
  • scrapy项目开发流程
  • jQuery 头像裁剪实现
  • 若依前后端分离Vue3版本接入阿里云OSS
  • GoC之汉诺塔绘制
  • JavaSE重点知识
  • 【文献阅读】DEPTH PRO: SHARP MONOCULAR METRIC DEPTH IN LESS THAN A SECOND
  • 【王树森推荐系统】行为序列02:DIN模型(注意力机制)
  • 第10讲——一元函数积分学的几何应用
  • 第八讲~~数据库技术
  • 【InnoDB内存结构】缓冲池,变更缓冲区,自适应哈希索引,日志缓冲区
  • 【项目】GraphRAG基于知识图谱的检索增强技术-实战入门
  • 代码随想录算法训练营65期第17天
  • 余电快速泄放电路
  • 【InnoDB磁盘结构1】系统表空间,独立表空间,双写缓冲区
  • C语言基础知识--动态内存管理
  • 贪心算法题解——划分字母区间【LeetCode】
  • 操作系统—第三章 内存管理
  • 169. 多数元素
  • 二分搜索 (左程云)
  • 【Docker基础】Dockerfile核心概念解析:什么是Dockerfile?与镜像、容器的关系
  • shiro550反序列化漏洞复现(附带docker源)
  • AV1比特流结构