Skip to content

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中间件管理平台

一个现代化的中间件管理平台,支持Redis、Elasticsearch、Kafka、ClickHouse等多种中间件的统一管理、监控和操作。

Dashboard Preview

功能特性

🚀 核心功能

  • 多中间件支持: 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:run

项目结构

middleware-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

主要配置项

前端配置 (apps/client/.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

后端配置 (apps/server/.env.local)

# 服务端口
PORT=5000

# 数据存储路径
DATA_PATH=./data

# 启用内存缓存
ENABLE_CACHE=true

# 日志级别
LOG_LEVEL=info

功能模块

1. 连接管理

  • 添加/编辑/删除中间件连接
  • 连接测试和状态监控
  • 连接配置管理

2. Redis管理

  • 集群信息查看
  • Key管理和操作
  • 配置查看和修改
  • 命令行终端
  • 数据分析

3. Elasticsearch管理

  • 集群状态监控
  • 索引管理
  • 查询分析器
  • 文档管理

4. Kafka管理

  • 集群信息
  • Topic管理
  • 消费者组监控
  • 消息查看

5. ClickHouse管理

  • 集群状态
  • 表结构管理
  • 查询执行器
  • 性能分析

6. 监控告警

  • 实时监控仪表板
  • 自定义告警规则
  • 告警历史记录
  • 通知配置

7. 操作审计

  • 完整的操作日志
  • 用户行为追踪
  • 安全审计报告

性能优化

前端优化

  • ✅ 路由懒加载
  • ✅ 组件按需加载
  • ✅ 虚拟滚动(大数据量表格)
  • ✅ 图表渲染优化
  • ✅ 缓存策略
  • ✅ 请求防抖和节流

后端优化

  • ✅ API响应时间优化
  • ✅ Redis缓存机制
  • ✅ 数据库查询优化
  • ✅ API速率限制
  • ✅ 内存使用优化
  • ✅ 错误处理机制

系统优化

  • ✅ 统一错误处理
  • ✅ 全局Loading状态
  • ✅ 网络异常处理
  • ✅ 移动端适配
  • ✅ 主题切换

API文档

认证接口

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 # 测试连接

Redis接口

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        # 执行命令

Elasticsearch接口

GET  /api/elasticsearch/cluster    # 集群状态
GET  /api/elasticsearch/indices    # 索引列表
POST /api/elasticsearch/query      # 执行查询
GET  /api/elasticsearch/documents  # 文档列表

Kafka接口

GET  /api/kafka/cluster        # 集群信息
GET  /api/kafka/topics         # Topic列表
GET  /api/kafka/consumers      # 消费者组
GET  /api/kafka/messages       # 消息查看

ClickHouse接口

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部署

# 构建镜像
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.js

Nginx配置示例

server {
    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;
    }
}

开发指南

添加新的中间件支持

  1. 后端模块开发
# 创建新模块
mkdir apps/server/src/modules/your-middleware
  1. 前端页面开发
# 创建页面组件
mkdir apps/client/src/views/your-middleware
  1. 路由配置
// 添加路由配置
{
  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

故障排除

常见问题

  1. 启动失败

    • 检查Bun版本是否 >= 1.0.0 (bun --version)
    • 检查pnpm版本是否 >= 8.0.0
    • 确保端口3000和3001未被占用
  2. Electron下载失败

    • 设置环境变量: export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
    • 或在项目根目录创建.npmrc文件,添加: electron_mirror=https://npmmirror.com/mirrors/electron/
  3. macOS应用无法打开

    • 系统偏好设置 > 安全性与隐私 > 通用 > 允许打开
    • 或使用命令: xattr -cr /Applications/Middleware\ Manager.app
  4. 连接失败

    • 检查中间件服务是否运行
    • 验证连接配置是否正确
    • 检查网络连接和防火墙设置
  5. 缓存问题

    • 清除浏览器缓存
    • 重启Redis服务
    • 检查Redis连接配置
  6. 性能问题

    • 启用缓存配置
    • 调整虚拟滚动阈值
    • 检查内存使用情况

日志查看

# 查看应用日志
pm2 logs middleware-manager

# 查看错误日志
tail -f apps/server/logs/error.log

# 查看访问日志
tail -f apps/server/logs/access.log

贡献指南

  1. Fork本项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开Pull Request

许可证

本项目采用MIT许可证。详见 LICENSE 文件。

下载安装

桌面应用下载

最新版本的桌面应用可从以下位置获取:

  • macOS

    • Intel芯片: Middleware Manager-1.4.0.dmg
    • Apple Silicon (M1/M2/M3): Middleware Manager-1.4.0-arm64.dmg
  • Windows

    • 64位: Middleware Manager-Setup-1.4.0.exe
  • 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

系统要求

  • macOS: 10.12+ (Sierra及以上)
  • Windows: Windows 10及以上
  • Linux: Ubuntu 18.04+, Debian 10+, Fedora 32+, CentOS 8+

安装说明

macOS

  1. 下载对应架构的DMG文件
  2. 双击打开DMG文件
  3. 将应用拖拽到Applications文件夹
  4. 首次运行时,右键点击应用选择"打开"以绕过安全警告

Windows

  1. 下载exe安装程序
  2. 双击运行安装程序
  3. 按照安装向导完成安装

Linux

  • AppImage: 赋予执行权限后直接运行
  • deb: 使用 sudo dpkg -i 安装
  • rpm: 使用 sudo rpm -i 安装

技术支持

如有问题或建议,请通过以下方式联系:

更新日志

v1.4.0 (2025-12-05)

  • ✨ 迁移至 Bun 运行时,大幅提升开发和构建性能
  • ✨ 移除 tsx 依赖,使用 Bun 原生 TypeScript 支持
  • ✨ 优化开发命令,统一使用 Bun 执行脚本
  • 🚀 后端启动速度提升 50%+
  • 🚀 前端构建速度提升 20%+

v1.3.0 (2025-10-20)

  • ✨ Windows 安装包稳定版
  • ✨ 使用独立 Node.js 运行时解决跨平台原生模块问题
  • ✨ 离线部署包支持

v1.1.0 (2025-10-14)

  • ✨ 新增Electron桌面应用
  • ✨ 支持macOS DMG安装包(Intel和Apple Silicon)
  • ✨ 实现系统托盘和原生菜单
  • ✨ 集成自动更新机制
  • ✨ 优化Electron下载(使用国内镜像)
  • 🐛 修复Redis cluster模式下的监控和连接测试问题

v1.0.0 (2025-09-17)

  • ✨ 初始版本发布
  • ✨ 支持Redis、Elasticsearch、Kafka、ClickHouse管理
  • ✨ 实现监控告警功能
  • ✨ 完成操作审计系统
  • ✨ 性能优化和错误处理
  • ✨ 响应式UI和主题切换
  • ✨ Docker部署支持

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages