Skip to content

系统架构

Restr 采用前后端分离的现代化架构,旨在提供高性能、轻量级且易于扩展的数据库管理体验。

整体架构图

技术栈

后端 (Server)

  • 语言: Go (Golang) 1.21+
  • Web 框架: Gin - 高性能 HTTP 框架
  • ORM: GORM - 支持 SQLite, MySQL, PostgreSQL
  • 定时任务: Cron 表达式解析与调度
  • WebSocket: 用于实时 SQL 终端交互
  • 安全: bcrypt 密码哈希, pquerna/otp (TOTP 2FA)

前端 (Web Client)

  • 框架: React 18
  • 构建工具: Vite
  • UI 组件库: Shadcn/UI + Tailwind CSS
  • 状态管理: Zustand
  • HTTP 客户端: Axios (拦截器处理 JWT)

部署 (Deployment)

  • 容器化: Docker (基于 Alpine Linux)
  • 时区: 强制集成 Asia/Shanghai 确保定时任务准确

核心模块

  1. 连接管理器 (Connection Manager): 负责维护多数据库连接池,支持 SSH 隧道(规划中)和 SSL连接。
  2. 数据浏览器 (Data Explorer): 动态解析表结构,根据字段类型(如 DATETIME, BOOL, JSON)自动适配前端编辑组件。
  3. 备份引擎 (Backup Engine):
  • 支持 mysqldump / pg_dump 调用。
  • 流式压缩(Gzip)。
  • 多云上传策略(支持并行上传至多个 S3 目标)。