Skip to content

云智汇 AI 在线教育平台

时间: 2026.01 - 2026.03

基于微服务架构的 AI 在线教育平台,支持课程学习、社交互动、营销交易与智能客服等核心业务,引入 Spring AI 路由工作流 Agent,实现课程问答、个性化推荐与智能下单,并重点解决高并发场景下的数据一致性与系统性能问题。

系统架构

                    ┌──────────────┐
                    │   Nginx 网关  │
                    └──────┬───────┘

                    ┌──────┴───────┐
                    │  Spring Cloud │
                    │   Gateway     │
                    └──────┬───────┘
         ┌─────────────┬───┴───┬─────────────┐
         │             │       │             │
    ┌────┴────┐  ┌─────┴────┐ ┌┴──────────┐ ┌┴──────────┐
    │ 用户服务  │  │ 课程服务  │ │  AI Agent │ │ 交易服务   │
    │         │  │          │ │  (Spring  │ │          │
    │ Nacos   │  │ Nacos    │ │   AI)     │ │ Nacos    │
    │ 注册发现  │  │ 注册发现  │ │          │ │ 注册发现   │
    └─────────┘  └──────────┘ └───────────┘ └──────────┘
         │             │            │              │
    ┌────┴─────────────┴────────────┴──────────────┴────┐
    │              中间件层                               │
    │  Redis │ RabbitMQ │ MongoDB │ Pinecone │ MySQL    │
    └───────────────────────────────────────────────────┘

核心工作

1. 路由工作流 Agent

基于 Spring AI 构建路由工作流 Agent,识别课程咨询、课程推荐、购买下单等意图,并分发至对应业务智能体。

路由策略:

  • 意图识别:LLM 分析用户消息,判断意图类别
  • 任务分发:将请求路由到对应的业务 Agent
  • 异常兜底:未识别意图走通用问答链路

2. RAG 课程知识库

基于 RAG + Pinecone 搭建课程知识库,召回课程介绍、适用人群与课程大纲等上下文,提升课程问答与个性化推荐准确性。

RAG 流程:

  1. 课程文档 → 分块切片(按章节/段落)
  2. Embedding 向量化 → 存入 Pinecone
  3. 用户提问 → 向量检索 TopK 课程上下文
  4. 上下文注入 Prompt → LLM 生成精准回答

3. Tool Calling 与对话持久化

基于 Tool Calling 封装 CourseTools、OrderTools 等业务工具,并使用 MongoDB 持久化多轮对话、工具调用与执行轨迹。

工具封装:

  • CourseTools:查询课程详情、搜索课程、获取课程大纲
  • OrderTools:创建订单、查询订单状态、取消订单
  • 高风险操作需用户二次确认

4. 播放进度合并写库

基于 Redis Hash + DelayQueue 实现播放进度合并写库,降低数据库写压力并保证学习进度最终一致性。

方案设计:

  • 用户播放进度 → 写入 Redis Hash(按课程分片)
  • DelayQueue 定时触发 → 批量合并写入 MySQL
  • 高频写入场景下,DB 写入量降低 90%+

5. 优惠券领取优化

基于 RabbitMQ + Redisson + 乐观锁优化优惠券领取链路,实现请求异步削峰、用户防重领取、库存安全扣减和消费幂等。

优化链路:

用户请求 → Redis 预检(Redisson 防重)→ RabbitMQ 异步入队
    → 消费者消费 → 乐观锁扣减库存 → 记录领取流水(幂等键)

6. 点赞与排行榜

基于 Redis Set / ZSet 重构点赞与排行榜系统,实现点赞去重、实时排行统计和高并发读写解耦。

数据结构选择:

  • 点赞:Redis SetSADD course:likes:{id} userId 天然去重
  • 排行榜:Redis ZSetZINCRBY course:rank 1 {id} 实时排序
  • 异步落库:定时任务将 Redis 数据同步到 MySQL

技术选型与考量

决策点选择理由
微服务框架Spring Cloud成熟的 Java 微服务生态,Nacos 注册中心 + 配置中心
AI 框架Spring AI与 Spring 生态无缝集成,原生支持 Tool Calling、RAG、Advisor
向量数据库Pinecone全托管服务,免运维,支持 Serverless 模式按量计费
对话存储MongoDB文档模型天然适合存储非结构化的多轮对话和工具调用轨迹
分布式锁Redisson基于 Redis 的分布式锁,Lua 脚本保证原子性
消息队列RabbitMQ可靠消息投递,支持死信队列和延迟队列

技术栈

JavaSpringBootSpringCloudMyBatis-PlusMySQLRedisRedissonRabbitMQXXL-JobSpring AIPineconeMongoDB
技术用途
SpringBoot后端框架,提供 RESTful API 和依赖注入
SpringCloud微服务架构,服务注册发现、配置中心、网关
MyBatis-PlusORM 框架,简化数据库操作
MySQL关系型数据库,存储用户、课程、订单等核心数据
Redis缓存与数据结构服务,支撑点赞、排行榜、延迟队列
Redisson分布式锁,优惠券领取防重和库存扣减
RabbitMQ消息队列,优惠券领取异步削峰
XXL-Job分布式任务调度,定时任务管理
Spring AIAI 集成框架,路由工作流 Agent、RAG、Tool Calling
Pinecone向量数据库,课程知识库语义检索
MongoDB文档数据库,持久化多轮对话与工具调用轨迹

AI 应用开发 / Agent 开发实习生