设计千万级学生管理系统的考试试卷存储方案
【数据结构设计】
map 数据存储:可以按题型请求数据,减少每次读取的数据量,提高性能。
key: 学校 ID + 课程 ID + 学期
value:分成四部分
"singlechoice" 单选,"multichoice":多选题,“judgement" 判断题, "question" 问答题
【读写分析】
开始开始时,可以系统缓存预热,提前将试卷信息写入 redis。
考试开始时,学生通过 key(学校 ID + 课程 ID + 学期)拉取试卷信息。
【Redis sentinel 集群的服务器数量和性能】
前面性能分析,估算性能需求为:
试卷请求 QPS:5 万/s
试卷写入 QPS: 可以忽略不计
单机 Redis 足够存储试卷,但是考虑到高可用性,采用一主二从三哨兵的架构存储试卷信息。
评论