千万级学生管理系统的考试试卷存储方案
存储性能估算
请求试卷:1000 万*20(课)/20(周末不考试)/4(每天 4 门考试)/1(分钟内下载好卷子) = 250 万请求/分钟 ~= 5 万/秒。QPS=50kps
提交试卷:1000 万*20(课)/20(周末不考试)/4(每天 4 门考试)/30(分钟内提交) = 1700/秒。TPS=1.7kps.
REDIS 结构设计
由于读取事件是一个独立的读取操作,不用涉及复杂逻辑,因此使用 string 类型
key: 试卷 id
value: 试卷内容
读写流程
1、学生登录后,会从考试系统获取考试的信息(包含试卷 id)
2、点击开始考试,系统根据试卷 id 获取试卷信息
REDIS SENTIAL 数量和性能
由于一台 redis(32G)的读写性能大约是 8w,因此一主一从的 redis 架构可以满足性能要求,sentinel 使用 raft 协议,最少需要 3 台
评论