模块四作业
千万级学生管理系统的考试试卷存储方案
部署方案
采用 Redis Sentinel
【部署方案】:一主两从三哨兵
【机器配置】:4 核 16G
【Redis 配置】:内存限制为 8G,预留 50% 给系统
【性能分析】:
每天两个场次,每个场次试卷数是有限的,试卷内容和提交答案内容也不大,每个机器 8G 足够;
请求试卷集中在考试前可以达到 5 万 QPS, 读取请求分发到 3 台机器,完全可以满足的 5 万 QPS.
详细设计
请求试卷
【数据结构设计】
试卷存储使用 String 类型
Key: 试卷 ID
Value:试卷内容
【读写分析】
缓存预热,每天的考试开始前,将该场次试卷内容从数据库写入 redis
请求试卷集中在考试开始前一分钟,按试卷 ID 读取试卷内容
提交试卷
【数据结构设计】
提交试卷使用 Hashtable 类型
Key: 学生 ID
Value:试卷内容
【读写分析】
学生提交试卷,redis 数据结构使用 Hashtable,以学生 ID 为 key,试卷答题内容为 value.
提交试卷的数据首先存储到 redis,然后以异步方式持久化到数据库中
评论