EMQX-TopicX
MQTT Topic管理增强服务

专为EMQX设计的Topic管理增强服务,提供直观的Web界面来管理和监控MQTT Topic。 实现对海量Topic的规范化、可视化和精细化管理。

1.0.0
最新版本
Docker
容器化部署
Vue 3
现代化前端
EMQX-TopicX 产品界面

核心价值

全局视角,集中管理

统一控制面板管理所有EMQX集群的Topic信息,彻底改变过去需要通过命令行或零散查询的被动状态。

业务赋能,精细治理

创新性地引入"业务分组"和"标签管理"功能,从业务逻辑维度对Topic进行归类、授权和审计。

消息体规范与沉淀

支持为每个Topic配置Payload Schema,为开发人员提供明确的接口规范,减少通信歧义。

功能特性

系统管理

  • 多系统支持,管理多个EMQX实例
  • 实时状态监控和健康检查
  • 连接测试和响应时间监控
  • 安全认证和密码加密存储
系统管理界面

Topic管理

  • 自动同步Topic信息,支持增量更新
  • 完整的CRUD操作和路径管理
  • 批量操作和高级搜索功能
  • 数据导出和可视化展示
Topic管理界面 Topic详情界面

标签系统

  • 彩色标签进行可视化分类
  • 标签管理和使用统计
  • 批量标签操作
  • 删除保护机制
标签系统界面

业务分组

  • 按业务逻辑对Topic进行分组
  • 分组统计和使用情况
  • 批量分组操作
  • 分组搜索和筛选
业务分组界面

Payload模板

  • 丰富的模板库,支持JSON、XML等格式
  • 模板分类和收藏功能
  • 使用统计和模板复制
  • 批量操作和管理
Payload模板管理界面

数据统计

  • 实时仪表板和系统概览
  • 业务统计和可视化图表
  • 状态刷新和数据同步
  • 多维度数据分析
数据统计仪表板

用户管理

  • 基于Sa-Token的用户认证系统
  • 安全用户认证和权限控制
  • 会话管理和自动登出
  • 角色权限管理
用户管理界面

技术架构

后端技术栈

Spring Boot 3.2.0
MyBatis Plus 3.5.5
Sa-Token 1.39.0
MySQL 8.2.0
Redis 6.0+

前端技术栈

Vue 3
TypeScript Latest
Element Plus 2.10.7
Vite 5.0.12
Tailwind CSS 3.4.1

部署技术

Docker 20.10+
OpenJDK 17
G1GC 优化
GitHub Actions CI/CD

快速开始

使用Docker快速部署(推荐)

# 1. 克隆项目
git clone https://github.com/Estelle925/EMQX-TopicX.git
cd EMQX-TopicX

# 2. 构建Docker镜像
docker build -t emqx-topic-hub:1.0.0 .

# 3. 运行容器
docker run -d \
  --name emqx-topic-hub \
  -p 8080:8080 \
  -v /host/logs:/app/logs \
  -e SPRING_DATASOURCE_URL=jdbc:mysql://your-mysql-host:3306/emqx_topic_hub \
  -e SPRING_DATASOURCE_USERNAME=Estelle925 \
  -e SPRING_DATASOURCE_PASSWORD=your-password \
  -e SPRING_DATA_REDIS_HOST=your-redis-host \
  -e SPRING_DATA_REDIS_PASSWORD=your-redis-password \
  emqx-topic-hub:1.0.0

# 4. 访问应用
# 打开浏览器访问: http://localhost:8080
# 默认账号: admin / admin123

本地开发部署

# 后端启动
cd backend
mvn spring-boot:run

# 前端启动(新终端)
cd frontend
npm install
npm run dev

# 访问地址
# 前端: http://localhost:3000
# 后端: http://localhost:8080

环境要求

  • Java 17+
  • Node.js 18+
  • Maven 3.6+
  • MySQL 8.0+
  • Redis 6.0+