架构训练营 模块四 作业
设计千万级学生管理系统的考试试卷存储方案
【作业要求】 基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:
• 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构。
• 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)。
• 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能。
1.Redis 数据结构设计
采用 Redis 的 String 类型。
Key 为考试日期 + 学校 ID + 课程 ID + 年级 ID;
value 为试卷内容,使用 json 序列化。
2.读写流程
教师在登录系统后,在试卷管理模块录入试卷题目,通过下拉框选择课程、年级后,服务端生成 key = 考试日期 + 学校 ID + 课程 ID + 年级 ID ,value 为录入的试卷内容,保持在 Redis 中。
考生在加载考试试卷 的时候,根据考试日期 + 学校 ID + 课程 ID + 年级 ID 寻找 Redis 中保存的 Value 值,将 Value 值返回给前端。
3 .Redis sentinel 集群的服务器数量和性能
Redis sentinel 集群个数为 3 个,可以支持 5 万以上的 QPS。
评论