架构实战营作业四
【作业要求】
基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:
• 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构。
• 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)。
• 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能。
数据结构设计
试卷
key:学校 ID:学期 ID:课程 ID
value: 试卷内容,json 格式,每题有编号作为唯一标识
数据结构:List 可重复,插入顺序排序。
学生答题结果
Key:学校 ID:学期 ID:学生学号:课程 ID
value: 答案
数据结构:List 可重复,插入顺序排序。
读写流程
考试前,老师通过题库生成试卷,存入 redis 中
开考前,学生通过学校和考试编号,从 redis 中获取本场考试的试卷。
学生考试完成,提交试卷时,将学生填写的答案,存入 redis 中。
性能估算
最大的 QPS 为请求试卷,单机性能 5 万
Redis sentinel 集群至少 3 个 sentinel 节点,3 个 redis 数据节点,因此 redis 服务器的数量至少 6 台
Redis 数据节点采用 1 主 2 从的方式。
评论