架构训练营 模块四
性能估算
每门考试 20 判断题、20 选择题、4 道大题;
请求量: 试卷请求 QPS:5 万/s
假设有 1000 个学校,学校 20 个专业,每个专业每学期有 60 门课程需要考试,试卷平均大小为 10kb
试卷数量:1000(学校)* 20(专业)* 60(课)= 120 万;
试卷所需存储空间:120 万 * 10KB ≈ 12 GB。
数据结构
针对考试题目存储,使用 hash 数据结构。
key 为学校 id + 学年 + 课程 id
hash 结构中的 key 为 题号
hash 结构中的 value 为 题目文本
读写流程
「写」(老师)
老师做好试卷后,提交试卷,按照学校、学年、课程生成 key, 题目编号为 hash key。
「读」(学生)
学生进行考试时,根据学校、学年、课程找到对应的 hash 结构,读取题目 ,进行查看。
服务器数量及性能
redis 单机读写性能可达 10W/S,根据需求,读在 5W/S,所以一台主、两台从,三台 sentinel 即可。
评论