系统架构概览
PveSphere 采用前后端分离的微服务架构设计。
架构层次
┌─────────────────────────────────────────┐
│ 前端层 (Frontend) │
│ Vue 3 + TypeScript + Element Plus │
└─────────────────┬───────────────────────┘
│ HTTP/WebSocket
┌─────────────────▼───────────────────────┐
│ 后端层 (Backend) │
│ Go + Gin + GORM │
└─────────────────┬───────────────────────┘
│
┌───────────┴───────────┐
│ │
┌─────▼─────┐ ┌──────▼──────┐
│ Database │ │ Redis │
│ MySQL/ │ │ (Cache) │
│ PostgreSQL│ └─────────────┘
│ SQLite │
└─────┬─────┘
│
┌─────▼──────────────────────────────────┐
│ Proxmox VE API │
│ (PVE Clusters) │
└─────────────────────────────────────────┘
核心组件
前端组件
- 路由管理: Vue Router 4
- 状态管理: Pinia 3
- UI 组件: Element Plus 2
- 图表可视化: ECharts 6
- 终端组件: xterm.js 5, noVNC
后端组件
- HTTP 服务: Gin 1.10
- 数据访问: GORM 1.30
- 认证授权: JWT
- 任务调度: gocron
- 日志系统: Zap
数据流
- 用户在前端界面操作
- 前端通过 HTTP/WebSocket 调用后端 API
- 后端处理业务逻辑,访问数据库
- 后端调用 Proxmox VE API 执行操作
- 返回结果给前端展示