项目简介
本项目是基于Spring Boot和Sentinel的流量控制与规则管理系统,目标是提供高可用的Sentinel Dashboard,同时实现规则数据的持久化。Sentinel作为阿里巴巴开源的流量控制、熔断降级框架,在微服务架构中广泛应用,能保障系统的稳定性和可靠性。
项目的主要特性和功能
- 规则持久化:采用数据库存储规则,保证应用规则和监控数据的持久、可靠与稳定。
- 高可用性:Dashboard规则存于数据库表,支持负载均衡和水平扩展,降低内存消耗。
- 实时推送:支持从Dashboard实时推送规则到Sentinel客户端。
- 手动同步:可在界面手动将规则同步到全部或指定主机,应用首次连Dashboard自动同步规则。
- 全局规则配置:支持全局规则(app级)配置与同步,适用于app所有实例主机。
- 资源主机级流控:能单独对资源主机(ip + port)设置流控规则。
- 实时监控优化:优化实时监控界面,增加查询区间,支持查询当前一分钟以外的数据。
- 服务注册与配置获取:支持注册到Nacos并从其获取Dashboard配置。
- 规则持久化到Nacos:已实现DynamicRuleProvider和DynamicRulePublisher,需改造controller配合InMem*Store使用。
安装使用步骤
前提条件
- 已下载本项目的源码文件。
- 已安装Java开发环境(JDK 8或更高版本)。
- 已安装Maven构建工具。
- 已安装并配置好数据库(如MySQL)。
安装步骤
- 复制项目:
bash
- 导入项目:使用IDE(如IntelliJ IDEA或Eclipse)导入项目,选择Maven项目。
- 配置数据库:在
application.properties
文件中配置数据库连接信息,如数据库URL、用户名和密码。 - 构建项目:在项目根目录下运行以下命令进行构建:
bash mvn clean install
- 运行项目:构建成功后,运行以下命令启动项目:
bash java -jar target/sentinel-dashboard-X.jar
- 访问Dashboard:打开浏览器,访问
http://localhost:8080
,进入Sentinel Dashboard。
使用说明
- 登录:使用默认用户名和密码(sentinel/sentinel)登录Dashboard。
- 配置规则:在Dashboard界面添加、修改、删除流量控制规则、熔断降级规则等。
- 查看监控:通过实时监控界面查看系统各项指标,如QPS、响应时间等。
- 同步规则:支持手动同步规则到指定主机,也可设置自动同步。
- 高可用配置:通过配置Nacos或Zookeeper,实现Dashboard高可用和规则分布式管理。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】