Skip to content

faithererer/pool-status-dashboard

Repository files navigation

Pool Status Dashboard

一个通用的服务号池监控面板,旨在实时跟踪和可视化各种资源池的压力和状态。

✨ 功能特性

  • 号池管理: 轻松添加、删除和配置您的资源池。
  • 实时监控: 在集中式仪表板上查看所有号池的当前状态,包括有效、无效、冷却中和总量等指标。
  • 压力可视化: 直观的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)

后端启动

  1. 进入项目根目录。
  2. 安装依赖:
    mvn install
  3. 运行应用:
    mvn spring-boot:run
    后端服务将启动在 http://localhost:8080

前端启动

  1. 进入 web 目录:
    cd web
  2. 安装依赖:
    npm install
  3. 启动开发服务器:
    npm dev
    前端将运行在 http://localhost:3000

🔌接入数据源

实现src/main/java/com/zjc/datasource/PoolDataSourceService.java接口即可

✅ TODO

  • 后端: 实现数据保留策略,自动删除旧的状态记录。
  • 后端: 完成所有数据源类型(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

Loading

About

通用号池监控面板

Topics

Resources

Stars

Watchers

Forks

Packages