架构训练营 模块四
【作业要求】
基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:
• 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构。
• 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)。
• 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能。
数据结构设计
试卷
数据结构: string
前缀:test
key:学校 ID+考试 ID
value: 试卷内容,json 格式,每题有编号作为唯一标识
学生答题结果
数据结构:string
前缀:answer
key:学校 ID+学生 ID+考试 ID
value:答案,json 格式,通过试题编号对应
读写分析
考试前,老师通过题库生成试卷,存入 redis 中
开考前,学生通过学校和考试编号,从 redis 中获取本场考试的试卷。
学生考试完成,提交试卷时,将学生填写的答案,按学校 id+学生 id+考试 id 的维度存入 redis 中。
服务器数量和性能
读取试卷 qps: 5 万/秒
提交试卷 tps:1700/秒
按性能估算为支持 Redis sentinel ,需三台服务器。
评论