千万级学生管理系统的考试试卷存储方案
性能估算
假设学校的考试都安排在某一个月内,考试的时候请求试卷,提交答案,中间答题过程浏览器本地完成,由于考试集中在上午 4 小时和下午 4 小时, 且请求试卷集中在考试开始的前 1 分钟,提交答案集中在考试结束前的 30 分钟,因此估算如下:
• 请求试卷:1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒。
考试试卷存储架构分析
Redis sentinel 存储方案设计
数据结构设计
读写分析
三台 redis 组成一主两从 sentinel 集群
redis 单机 qps 10w/s
老师登录考试系统,选择学科,学期,开始编辑考试试卷内容,试卷编辑完成以后,按照(学校 ID:学科编号:学期号)key,组织试卷内容为 hash 结构直接存储到 redis 中。
学生开始考试以后,选择学科,学期,再根据学校 ID 组成(学校 ID:学科编号:学期号)key,直接从 redis 中读取试卷信息
评论