师大云学 - 全栈开发
基于 Spring Cloud Alibaba 开发的在线教育平台,负责全栈开发工作,包括微服务架构设计和前端实现。
项目背景
师大云学是一个面向高校师生的在线教育平台,提供课程学习、在线考试、作业提交、成绩查询等功能。项目需要支持高并发访问,保证系统的稳定性和可扩展性。作为全栈开发工程师,我负责微服务架构设计、后端服务开发、前端应用实现以及 DevOps 流程搭建。
技术架构
项目采用 Spring Cloud Alibaba 微服务架构,包含用户服务、课程服务、订单服务、支付服务、考试服务等核心微服务。使用 Nacos 作为服务注册中心和配置中心,Sentinel 实现流量控制和熔断降级,RabbitMQ 处理异步消息,Redis 作为缓存层。前端使用 React + TypeScript 构建,通过 RESTful API 与后端服务通信。
核心功能
课程管理:支持课程创建、编辑、发布、下架等全生命周期管理
在线学习:提供视频播放、课件下载、在线笔记等学习功能
作业系统:支持作业发布、提交、批改、成绩查询等功能
在线考试:支持题库管理、试卷生成、在线考试、自动阅卷等功能
订单支付:集成支付宝、微信支付,支持课程购买和订单管理
用户中心:支持个人信息管理、学习进度查看、证书下载等功能
消息通知:支持系统通知、课程提醒、考试提醒等消息推送
数据分析:提供学习数据统计、课程分析、用户行为分析等功能
技术栈
工作职责
- 1
基于 Spring Cloud Alibaba 设计并实现微服务架构,包括用户、课程、订单等核心服务
- 2
开发 RESTful API 接口,实现课程管理、订单处理、支付集成等功能
- 3
构建 React + TypeScript 前端应用,实现课程展示、购物车、支付流程等功能
- 4
集成 RabbitMQ 实现消息通知系统,确保异步任务的可靠执行
- 5
设计 Redis 缓存策略,优化课程查询和用户数据访问性能
- 6
配置 Jenkins CI/CD 流水线,实现自动化构建和部署
技术难点与解决方案
微服务间通信优化
使用 OpenFeign 实现服务间调用,配置合理的超时时间和重试策略,使用 Sentinel 实现熔断降级,避免服务雪崩,最终将服务间调用成功率提升至 99.9%
高并发课程查询优化
设计多级缓存策略,本地缓存 + Redis 缓存 + 数据库三级缓存,使用 Redis 集群保证高可用,最终将课程查询响应时间从 500ms 优化至 50ms
支付流程可靠性保证
实现支付状态机,确保支付流程的幂等性和最终一致性,使用消息队列处理支付回调,设置合理的重试机制,最终将支付成功率提升至 99.5%
前端性能优化
使用 React 的虚拟 DOM 和 memo 优化渲染,实现路由懒加载和组件懒加载,使用 CDN 加速静态资源,最终将首屏加载时间优化至 1.2 秒
项目成果
实现了日访问量 10 万+ 的高并发在线教育平台
课程加载速度提升 60%,用户停留时间增加 35%
微服务架构部署成功,服务可用性达到 99.95%
CI/CD 流水线搭建完成,部署时间从小时级缩短至分钟级