系统架构
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确保定时任务准确
核心模块
- 连接管理器 (Connection Manager): 负责维护多数据库连接池,支持 SSH 隧道(规划中)和 SSL连接。
- 数据浏览器 (Data Explorer): 动态解析表结构,根据字段类型(如
DATETIME,BOOL,JSON)自动适配前端编辑组件。 - 备份引擎 (Backup Engine):
- 支持
mysqldump/pg_dump调用。 - 流式压缩(Gzip)。
- 多云上传策略(支持并行上传至多个 S3 目标)。