智学云平台 - 基于 Spring Cloud Alibaba 的在线教育微服务系统
智学云平台是一个功能完善的在线教育系统,旨在为用户提供优质的在线学习体验。项目采用微服务架构设计,具备高可用、高并发、易扩展的特点。智学云平台涵盖微服务架构、高并发处理、实时通信、AI 应用等技术领域,适合学习 Spring Cloud Alibaba 生态。项目亮点:微服务架构、Redis+Lua秒杀、Netty弹幕、RAG问答、Vue3+小程序双端有问题评论区交流。
智学云平台 - 基于 Spring Cloud Alibaba 的在线教育微服务系统
本文介绍一个完整的在线教育平台项目,采用前后端分离架构,后端基于 Spring Cloud Alibaba 微服务体系,前端包含 Vue3 管理后台和微信小程序。项目涵盖课程管理、订单支付、AI 智能问答、实时弹幕等核心功能。
一、项目概述
智学云平台是一个功能完善的在线教育系统,旨在为用户提供优质的在线学习体验。项目采用微服务架构设计,具备高可用、高并发、易扩展的特点。
1.1 技术选型
| 层次 | 技术栈 |
|---|---|
| 后端框架 | Spring Boot 3.2 + Spring Cloud 2023 |
| 微服务治理 | Spring Cloud Alibaba 2023 (Nacos + Sentinel) |
| 数据库 | MySQL 8.0 + MyBatis-Plus 3.5 |
| 缓存 | Redis |
| 消息队列 | RabbitMQ |
| 网关 | Spring Cloud Gateway |
| 认证授权 | JWT + Spring Security |
| 前端管理系统 | Vue 3.4 + Vite 5 + Element Plus |
| 移动端 | 微信小程序原生开发 |
| API 文档 | Knife4j + SpringDoc OpenAPI |
| 监控 | Micrometer + Prometheus |
二、项目模块说明
2.1 项目结构
zhixue-cloud/
├── zhixue-gateway # 网关服务 (端口: 9001)
├── zhixue-auth # 认证服务 (端口: 9100)
├── zhixue-common # 公共模块 (工具类、通用配置)
├── zhixue-api # API 接口模块 (Feign 客户端)
├── zhixue-modules/ # 业务模块
│ ├── zhixue-system # 系统管理 (端口: 9201)
│ ├── zhixue-course # 课程管理 (端口: 9202)
│ ├── zhixue-media # 媒资管理 (端口: 9203)
│ ├── zhixue-interaction # 互动服务 (端口: 9204)
│ ├── zhixue-order # 订单服务 (端口: 9205)
│ ├── zhixue-marketing # 营销服务 (端口: 9206)
│ └── zhixue-ai # AI 服务 (端口: 9207)
├── zhixue-admin-web # Vue3 管理后台
└── zhixue-app-mp # 微信小程序
2.2 各模块功能详解
🔐 认证服务 (zhixue-auth)
- 用户登录/注册
- JWT Token 签发与验证
- 图形验证码生成
- 微信小程序登录
👥 系统管理 (zhixue-system)
- 用户管理 (CRUD、角色分配)
- 角色管理 (权限配置)
- 菜单管理 (动态路由)
- 字典管理
📚 课程管理 (zhixue-course)
- 课程分类管理
- 课程信息管理
- 章节/小节管理
- 课程发布审核
🎬 媒资管理 (zhixue-media)
- 视频上传与转码
- 图片资源管理
- 文件存储 (支持 MinIO/OSS)
💬 互动服务 (zhixue-interaction)
- 实时弹幕系统 (Netty WebSocket)
- 课程点赞/收藏
- 评论管理
- Redis 发布订阅实现弹幕广播
🛒 订单服务 (zhixue-order)
- 订单创建与管理
- 支付策略模式 (支付宝/微信支付)
- 订单超时自动取消 (RabbitMQ 延迟队列)
🎁 营销服务 (zhixue-marketing)
- 优惠券管理
- 秒杀活动 (Redis 预热 + Lua 脚本防超卖)
🤖 AI 服务 (zhixue-ai)
- RAG 知识库问答
- 文档加载与分块
- 向量存储与检索
- LLM 对话服务
三、核心技术亮点
3.1 实时弹幕系统
基于 Netty + WebSocket 实现高性能实时弹幕:
@Component
public class NettyServer {
@PostConstruct
public void start() {
EventLoopGroup bossGroup = new NioEventLoopGroup(1);
EventLoopGroup workerGroup = new NioEventLoopGroup();
ServerBootstrap bootstrap = new ServerBootstrap();
bootstrap.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.childHandler(new WsChannelInitializer());
}
}
3.2 秒杀系统设计
采用 Redis + Lua 脚本保证原子性,防止超卖:
local stock = redis.call('get', KEYS[1])
if tonumber(stock) <= 0 then
return -1
end
redis.call('decr', KEYS[1])
return 1
3.3 订单超时自动取消
使用 RabbitMQ 死信队列实现延迟消息:
@Component
public class OrderTimeoutConsumer {
@RabbitListener(queues = "order.timeout.queue")
public void handleOrderTimeout(Long orderId) {
Order order = orderService.getById(orderId);
if (order != null && order.getStatus() == OrderStatus.UNPAID) {
orderService.cancelOrder(orderId);
}
}
}
四、前端展示
4.1 Vue3 管理后台
技术栈:Vue 3.4 + Vite 5 + Element Plus + Pinia
主要功能:系统管理、课程管理、互动管理、营销管理、AI 对话
4.2 微信小程序
功能:首页推荐、课程浏览、视频播放、学习进度、个人中心
五、项目部署
环境要求:JDK 17+、Node.js 16+、MySQL 8.0、Redis 6.0+、Nacos 2.x、RabbitMQ 3.x
六、总结
智学云平台涵盖微服务架构、高并发处理、实时通信、AI 应用等技术领域,适合学习 Spring Cloud Alibaba 生态。
项目亮点:微服务架构、Redis+Lua秒杀、Netty弹幕、RAG问答、Vue3+小程序双端
欢迎点赞收藏!有问题评论区交流。
更多推荐



所有评论(0)