跳到主要内容

系统架构概览

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

数据流

  1. 用户在前端界面操作
  2. 前端通过 HTTP/WebSocket 调用后端 API
  3. 后端处理业务逻辑,访问数据库
  4. 后端调用 Proxmox VE API 执行操作
  5. 返回结果给前端展示