littlebot
Published on 2025-04-07 / 7 Visits
0

【源码】基于Spring Boot和Sentinel的流量控制与规则管理系统

项目简介

本项目是基于Spring Boot和Sentinel的流量控制与规则管理系统,目标是提供高可用的Sentinel Dashboard,同时实现规则数据的持久化。Sentinel作为阿里巴巴开源的流量控制、熔断降级框架,在微服务架构中广泛应用,能保障系统的稳定性和可靠性。

项目的主要特性和功能

  1. 规则持久化:采用数据库存储规则,保证应用规则和监控数据的持久、可靠与稳定。
  2. 高可用性:Dashboard规则存于数据库表,支持负载均衡和水平扩展,降低内存消耗。
  3. 实时推送:支持从Dashboard实时推送规则到Sentinel客户端。
  4. 手动同步:可在界面手动将规则同步到全部或指定主机,应用首次连Dashboard自动同步规则。
  5. 全局规则配置:支持全局规则(app级)配置与同步,适用于app所有实例主机。
  6. 资源主机级流控:能单独对资源主机(ip + port)设置流控规则。
  7. 实时监控优化:优化实时监控界面,增加查询区间,支持查询当前一分钟以外的数据。
  8. 服务注册与配置获取:支持注册到Nacos并从其获取Dashboard配置。
  9. 规则持久化到Nacos:已实现DynamicRuleProvider和DynamicRulePublisher,需改造controller配合InMem*Store使用。

安装使用步骤

前提条件

  1. 已下载本项目的源码文件。
  2. 已安装Java开发环境(JDK 8或更高版本)。
  3. 已安装Maven构建工具。
  4. 已安装并配置好数据库(如MySQL)。

安装步骤

  1. 复制项目bash
  2. 导入项目:使用IDE(如IntelliJ IDEA或Eclipse)导入项目,选择Maven项目。
  3. 配置数据库:在application.properties文件中配置数据库连接信息,如数据库URL、用户名和密码。
  4. 构建项目:在项目根目录下运行以下命令进行构建: bash mvn clean install
  5. 运行项目:构建成功后,运行以下命令启动项目: bash java -jar target/sentinel-dashboard-X.jar
  6. 访问Dashboard:打开浏览器,访问http://localhost:8080,进入Sentinel Dashboard。

使用说明

  1. 登录:使用默认用户名和密码(sentinel/sentinel)登录Dashboard。
  2. 配置规则:在Dashboard界面添加、修改、删除流量控制规则、熔断降级规则等。
  3. 查看监控:通过实时监控界面查看系统各项指标,如QPS、响应时间等。
  4. 同步规则:支持手动同步规则到指定主机,也可设置自动同步。
  5. 高可用配置:通过配置Nacos或Zookeeper,实现Dashboard高可用和规则分布式管理。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】