模块 4 作业
设计千万级学生管理系统的考试试卷存储方案
【作业要求】
基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:
1)完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构
2)设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)
2)对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能
【提示】
1. 性能可以有一定冗余
2. 如果对 Redis sentinel 不熟悉,请参考官方文档:https://redis.io/topics/sentinel
【数据结构设计】
考试试卷一旦提交生成,数据不变,并且考试内容不会太大,直接使用 Redis 的字符串类型
Key: 课程编号+学期,课程和学期,构成了试卷的唯一性
Value: 试卷内容
【读写分析】
1.老师在系统录入试卷上传后,根据老师所教课程和试卷对应的学期,生成 Key,并保存到 Redis,设置不过期,Value 为试卷内容;
2.考试时,学生根据所选课程和所在学期,进入考试页面,系统根据课程和学期构造 Key,并且根据该 key,从 redis 查询,获取内容;
【性能估算】
使用 Redis sentinel 储存试卷内容,master 一台,slave 一台,外加一台 sentinel,为了防止 sentinel 挂掉导致不能自动故障切换,外加一台 sentinel 备份,应此一共是 4 台服务器;
评论