一个通用的服务号池监控面板,旨在实时跟踪和可视化各种资源池的压力和状态。
- 号池管理: 轻松添加、删除和配置您的资源池。
- 实时监控: 在集中式仪表板上查看所有号池的当前状态,包括有效、无效、冷却中和总量等指标。
- 压力可视化: 直观的UI元素(如压力表)可快速评估每个号池的健康状况。
- 历史趋势: 通过交互式图表分析历史数据,以了解长期性能。
- 虚拟聚合池: 将多个号池聚合为单个虚拟池,以获得相关资源的综合视图。
- 可插拔数据源: 灵活的数据源接口,您只需实现一个简单的服务即可连接到各种系统。
- 可定制视图: 可配置在仪表板上显示哪些号池和哪些数据字段。
- 轻量级 & 自托管: 使用 Spring Boot 和 SQLite 构建,易于部署且依赖最少。
- 后端: Java Spring Boot, MyBatis-Plus, SQLite
- 前端: Vue 3, Vite, Pinia, SCSS
- 数据库: SQLite
该项目分为两个主要部分:
.
├── src/main/java # 后端 Java Spring Boot 应用
├── web # 前端 Vue 应用
└── pom.xml # 后端的 Maven 配置
- 根目录包含后端项目。
web目录包含前端项目。
- JDK 17 或更高版本
- Maven 3.8 或更高版本
- Node.js 18 或更高版本
- pnpm (或 npm/yarn)
- 进入项目根目录。
- 安装依赖:
mvn install
- 运行应用:
后端服务将启动在
mvn spring-boot:run
http://localhost:8080。
- 进入
web目录:cd web - 安装依赖:
npm install
- 启动开发服务器:
前端将运行在
npm dev
http://localhost:3000。
实现src/main/java/com/zjc/datasource/PoolDataSourceService.java接口即可
- 后端: 实现数据保留策略,自动删除旧的状态记录。
- 后端: 完成所有数据源类型(HTTP, 数据库, 文件)的实现。
- 前端: 实现虚拟聚合池的管理界面。
- 前端: 为历史数据可视化添加更多图表选项(例如,时间范围选择)。
- 前端: 优化UI/UX,以获得更精致、现代的外观,包括动画效果。
- 通用: 为后端和前端添加全面的单元测试和集成测试。
- 通用: 编写关于如何配置和使用系统的用户文档。
- 通用: 实现合适的日志记录策略。
- 通用: 为生产环境打包应用程序(例如,使用 Docker)。
graph TB
subgraph "用户自定义数据源服务"
DS1[数据源服务A<br/>用户实现]
DS2[数据源服务B<br/>用户实现]
end
subgraph "号池监控系统"
subgraph "前端层"
UI[Vue3 前端界面]
DASH[监控面板]
MGMT[管理面板]
end
subgraph "后端层"
API[REST API层]
BIZ[业务逻辑层]
REFLECT[反射调用器]
DATA[MyBatis Plus数据层]
end
subgraph "数据层"
DB[(SQLite数据库)]
end
subgraph "任务调度"
SCHED[定时任务调度器]
UPDATE[数据更新器]
end
end
UI --> API
DASH --> API
MGMT --> API
API --> BIZ
BIZ --> DATA
DATA --> DB
SCHED --> UPDATE
UPDATE --> REFLECT
REFLECT --> DS1
REFLECT --> DS2
REFLECT --> DS3
UPDATE --> BIZ