智学云平台 - 基于 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+小程序双端


欢迎点赞收藏!有问题评论区交流。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐