在线Oj系统-“悦题”--判题服务系统
关键功能实现:
· 身份认证:基于Sa-token+JWT实现网关统一鉴权和内部服务外网隔离,邮箱注册使用Redis缓存验证码,设置过期时间并限制发送频率
· 搜索优化:采用Elasticsearch构建全文检索,采用ik_smart分词器优化题干分词,BM25算法调整题目字段权重,显著提升查找题目的效率
· 缓存设计:通过Caffeine本地缓存+Redis哨兵集群的多级缓存架构,缓存热门题目数据,查询响应时间降低75%(200ms→50ms)
· 异步处理:RabbitMQ解耦邮件发送、判题结果通知,死信队列处理异常任务。
· 后台管理:基于RuoYi-Vue框架搭建后台管理系统,采用多数据源动态切换技术无缝对接原业务数据库,实现零侵入式的数据读写操作
· AI解答:SpringAI Alibaba接入DeepSeek模型,RAG挂载题库规则库,PDF OCR识别(阿里云文字识别API),并支持多轮对话交互,提高学生做题效率
· 容器化部署:通过Netty作为底层通信框架与Docker连接以上传题目测评数据,Go Judge沙箱服务,Docker Compose标准化部署,保障环境一致
·监控与性能调优:运用 SkyWalking 实现全链路追踪快速定位性能瓶颈,通过 JMeter 模拟高并发场景,优化线程池配置与缓存策略,显著提升系统响应速度与吞吐量
·接口限流:用Redis Lua+ AOP实现用户级令牌桶限流,结合 Sentinel + Nacos 动态配置集群级 QPS限流,有效拦截恶意请求
在线教育