设计千万级学生管理系统的考试试卷存储方案
设计千万级学生管理系统的考试试卷存储方案
【作业要求】
基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:
1)完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构
2)设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)
3)对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能
【提示】
性能可以有一定冗余
如果对 Redis sentinel 不熟悉,请参考官方文档: https://redis.io/topics/sentinel
redis 存储方案设计-学生考试试卷
【数据结构设计】
采用哈希(hash)结构
key:试卷号
value:field 为题目号,value 为题目内容(json 格式)
【读写流程】
写:由老师编辑,由于是哈希的结构,可以支持老师逐个题目提交
读:主要流量来源于学生拉取试卷信息,通常是根据试卷号和题目号,进行拉取。
【服务部署】
设计目标:试卷的 qps 是 5w/s
redis 主从集群:一主一从,一共 2 台服务器;读上限约为 10w,可以承担负载,如果成本允许可增加 1 个从服务器
redis Sentinel:3 台机器(Sentinel 的最少数量)
评论