一个现代化的中间件管理平台,支持Redis、Elasticsearch、Kafka、ClickHouse等多种中间件的统一管理、监控和操作。
- 多中间件支持: Redis、Elasticsearch、Kafka、ClickHouse
- 实时监控: 连接状态、性能指标、资源使用情况
- 操作管理: 数据查询、配置管理、集群信息
- 告警系统: 自定义告警规则、实时通知
- 操作审计: 完整的操作日志记录
- 桌面应用: 原生Electron应用,支持macOS/Windows/Linux
- 现代化UI: 基于Vue 3 + Element Plus
- 响应式设计: 支持桌面端和移动端
- 主题切换: 支持亮色/暗色主题
- 多语言支持: 国际化i18n支持
- 虚拟滚动: 大数据量表格优化
- 路由懒加载: 按需加载页面组件
- 请求缓存: 纯内存缓存机制
- API限流: 防止接口滥用
- 错误处理: 统一错误处理机制
- 前端: Vue 3 + TypeScript + Vite + Pinia
- 后端: Bun + Express + TypeScript
- 桌面端: Electron + electron-builder
- 数据库: JSON文件存储(可扩展至数据库)
- 缓存: 内存缓存 (Memory Cache)
- 构建: pnpm monorepo + Bun runtime
- Bun >= 1.0.0
- pnpm >= 8.0.0
# 安装依赖
pnpm install
# 设置开发环境
pnpm run setup# 启动所有服务
pnpm run dev
# 单独启动Web前端
pnpm run dev:web
# 单独启动后端服务
pnpm run dev:server
# 启动桌面应用开发模式
pnpm run desktop:dev# 构建所有项目
pnpm run build
# 构建Web前端
pnpm run build:web
# 构建后端服务
pnpm run build:server
# 构建桌面应用
pnpm run desktop:build# macOS (生成DMG安装包)
pnpm run desktop:dist:mac
# Windows (生成exe安装程序)
pnpm run desktop:dist:win
# Linux (生成AppImage/deb/rpm)
pnpm run desktop:dist:linux
# 所有平台
pnpm run desktop:dist# 使用启动脚本
./start.sh
# 或者单独启动
pnpm run start:web # 前端
pnpm run start:server # 后端
# Docker部署
pnpm run docker:build
pnpm run docker:runmiddleware-manager/
├── apps/ # 应用目录
│ ├── client/ # Web前端应用
│ │ ├── src/
│ │ │ ├── api/ # API接口
│ │ │ ├── components/ # 公共组件
│ │ │ ├── composables/ # 组合式函数
│ │ │ ├── layouts/ # 布局组件
│ │ │ ├── router/ # 路由配置
│ │ │ ├── stores/ # 状态管理
│ │ │ ├── styles/ # 样式文件
│ │ │ ├── utils/ # 工具函数
│ │ │ └── views/ # 页面组件
│ │ ├── public/ # 静态资源
│ │ └── ...
│ ├── server/ # 后端服务
│ │ ├── src/
│ │ │ ├── common/ # 公共模块
│ │ │ ├── config/ # 配置管理
│ │ │ ├── modules/ # 业务模块
│ │ │ └── ...
│ │ └── ...
│ └── desktop/ # 桌面应用 (Electron)
│ ├── src/
│ │ ├── main/ # 主进程
│ │ ├── preload/ # 预加载脚本
│ │ └── renderer/ # 渲染进程
│ ├── resources/ # 应用资源(图标等)
│ ├── dist-app/ # 打包输出目录
│ └── electron-builder.json # 打包配置
├── packages/ # 共享包
│ ├── types/ # TypeScript类型定义
│ └── utils/ # 工具库
├── docs/ # 文档
├── scripts/ # 构建脚本
└── ...
创建 .env.local 文件(基于 .env.example):
# 复制环境变量模板
cp apps/client/.env.example apps/client/.env.local
cp apps/server/.env.example apps/server/.env.local# API基础URL
VITE_API_BASE_URL=http://localhost:5000/api
# 应用标题
VITE_APP_TITLE=中间件管理平台
# 是否开启调试模式
VITE_DEBUG=true
# 是否启用缓存
VITE_ENABLE_CACHE=true
# 虚拟滚动阈值
VITE_VIRTUAL_SCROLL_THRESHOLD=1000# 服务端口
PORT=5000
# 数据存储路径
DATA_PATH=./data
# 启用内存缓存
ENABLE_CACHE=true
# 日志级别
LOG_LEVEL=info- 添加/编辑/删除中间件连接
- 连接测试和状态监控
- 连接配置管理
- 集群信息查看
- Key管理和操作
- 配置查看和修改
- 命令行终端
- 数据分析
- 集群状态监控
- 索引管理
- 查询分析器
- 文档管理
- 集群信息
- Topic管理
- 消费者组监控
- 消息查看
- 集群状态
- 表结构管理
- 查询执行器
- 性能分析
- 实时监控仪表板
- 自定义告警规则
- 告警历史记录
- 通知配置
- 完整的操作日志
- 用户行为追踪
- 安全审计报告
- ✅ 路由懒加载
- ✅ 组件按需加载
- ✅ 虚拟滚动(大数据量表格)
- ✅ 图表渲染优化
- ✅ 缓存策略
- ✅ 请求防抖和节流
- ✅ API响应时间优化
- ✅ Redis缓存机制
- ✅ 数据库查询优化
- ✅ API速率限制
- ✅ 内存使用优化
- ✅ 错误处理机制
- ✅ 统一错误处理
- ✅ 全局Loading状态
- ✅ 网络异常处理
- ✅ 移动端适配
- ✅ 主题切换
POST /api/auth/login # 用户登录
POST /api/auth/logout # 用户退出
GET /api/auth/profile # 获取用户信息
GET /api/connections # 获取连接列表
POST /api/connections # 创建连接
PUT /api/connections/:id # 更新连接
DELETE /api/connections/:id # 删除连接
POST /api/connections/:id/test # 测试连接
GET /api/redis/cluster # 集群信息
GET /api/redis/keys # Key列表
GET /api/redis/keys/:key # 获取Key值
POST /api/redis/keys/:key # 设置Key值
DELETE /api/redis/keys/:key # 删除Key
POST /api/redis/command # 执行命令
GET /api/elasticsearch/cluster # 集群状态
GET /api/elasticsearch/indices # 索引列表
POST /api/elasticsearch/query # 执行查询
GET /api/elasticsearch/documents # 文档列表
GET /api/kafka/cluster # 集群信息
GET /api/kafka/topics # Topic列表
GET /api/kafka/consumers # 消费者组
GET /api/kafka/messages # 消息查看
GET /api/clickhouse/cluster # 集群状态
GET /api/clickhouse/tables # 表列表
POST /api/clickhouse/query # 执行查询
GET /api/clickhouse/performance # 性能分析
GET /api/monitoring/dashboard # 监控仪表板
GET /api/monitoring/alerts # 告警列表
POST /api/monitoring/rules # 创建告警规则
GET /api/monitoring/history # 告警历史
GET /api/audit/logs # 操作日志
GET /api/audit/stats # 审计统计
POST /api/audit/export # 导出日志
# 构建镜像
docker build -t middleware-manager .
# 运行容器
docker run -d -p 3000:3000 -p 5000:5000 middleware-manager
# 或使用docker-compose
docker-compose up -d# 1. 构建项目
pnpm run build
# 2. 部署前端(使用nginx等)
cp -r apps/client/dist/* /var/www/html/
# 3. 部署后端
cd apps/server
npm install --production
pm2 start dist/index.jsserver {
listen 80;
server_name your-domain.com;
# 前端静态文件
location / {
root /var/www/html;
try_files $uri $uri/ /index.html;
}
# API代理
location /api {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}- 后端模块开发
# 创建新模块
mkdir apps/server/src/modules/your-middleware- 前端页面开发
# 创建页面组件
mkdir apps/client/src/views/your-middleware- 路由配置
// 添加路由配置
{
path: 'your-middleware',
name: 'YourMiddleware',
component: () => import('@/views/your-middleware/index.vue'),
meta: { title: '您的中间件', icon: 'your-icon' }
}- 使用TypeScript进行类型检查
- 遵循ESLint规则
- 使用Prettier格式化代码
- 提交前运行测试
# 运行测试
pnpm run test
# 运行类型检查
pnpm run type-check
# 运行代码检查
pnpm run lint-
启动失败
- 检查Bun版本是否 >= 1.0.0 (
bun --version) - 检查pnpm版本是否 >= 8.0.0
- 确保端口3000和3001未被占用
- 检查Bun版本是否 >= 1.0.0 (
-
Electron下载失败
- 设置环境变量:
export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ - 或在项目根目录创建
.npmrc文件,添加:electron_mirror=https://npmmirror.com/mirrors/electron/
- 设置环境变量:
-
macOS应用无法打开
- 系统偏好设置 > 安全性与隐私 > 通用 > 允许打开
- 或使用命令:
xattr -cr /Applications/Middleware\ Manager.app
-
连接失败
- 检查中间件服务是否运行
- 验证连接配置是否正确
- 检查网络连接和防火墙设置
-
缓存问题
- 清除浏览器缓存
- 重启Redis服务
- 检查Redis连接配置
-
性能问题
- 启用缓存配置
- 调整虚拟滚动阈值
- 检查内存使用情况
# 查看应用日志
pm2 logs middleware-manager
# 查看错误日志
tail -f apps/server/logs/error.log
# 查看访问日志
tail -f apps/server/logs/access.log- Fork本项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开Pull Request
本项目采用MIT许可证。详见 LICENSE 文件。
最新版本的桌面应用可从以下位置获取:
-
macOS
- Intel芯片:
Middleware Manager-1.4.0.dmg - Apple Silicon (M1/M2/M3):
Middleware Manager-1.4.0-arm64.dmg
- Intel芯片:
-
Windows
- 64位:
Middleware Manager-Setup-1.4.0.exe
- 64位:
-
Linux (即将发布)
- AppImage:
Middleware Manager-1.1.0.AppImage - Debian/Ubuntu:
middleware-manager_1.1.0_amd64.deb - RedHat/Fedora:
middleware-manager-1.1.0.x86_64.rpm
- AppImage:
- macOS: 10.12+ (Sierra及以上)
- Windows: Windows 10及以上
- Linux: Ubuntu 18.04+, Debian 10+, Fedora 32+, CentOS 8+
- 下载对应架构的DMG文件
- 双击打开DMG文件
- 将应用拖拽到Applications文件夹
- 首次运行时,右键点击应用选择"打开"以绕过安全警告
- 下载exe安装程序
- 双击运行安装程序
- 按照安装向导完成安装
- AppImage: 赋予执行权限后直接运行
- deb: 使用
sudo dpkg -i安装 - rpm: 使用
sudo rpm -i安装
如有问题或建议,请通过以下方式联系:
- 提交Issue: GitHub Issues
- 项目地址: GitHub Repository
- 文档: 项目文档
- ✨ 迁移至 Bun 运行时,大幅提升开发和构建性能
- ✨ 移除 tsx 依赖,使用 Bun 原生 TypeScript 支持
- ✨ 优化开发命令,统一使用 Bun 执行脚本
- 🚀 后端启动速度提升 50%+
- 🚀 前端构建速度提升 20%+
- ✨ Windows 安装包稳定版
- ✨ 使用独立 Node.js 运行时解决跨平台原生模块问题
- ✨ 离线部署包支持
- ✨ 新增Electron桌面应用
- ✨ 支持macOS DMG安装包(Intel和Apple Silicon)
- ✨ 实现系统托盘和原生菜单
- ✨ 集成自动更新机制
- ✨ 优化Electron下载(使用国内镜像)
- 🐛 修复Redis cluster模式下的监控和连接测试问题
- ✨ 初始版本发布
- ✨ 支持Redis、Elasticsearch、Kafka、ClickHouse管理
- ✨ 实现监控告警功能
- ✨ 完成操作审计系统
- ✨ 性能优化和错误处理
- ✨ 响应式UI和主题切换
- ✨ Docker部署支持
