写点什么

模块四作业

作者:张贺
  • 2023-01-03
    上海
  • 本文字数:545 字

    阅读完需:约 2 分钟

设计千万级学生管理系统的考试试卷存储方案

【作业要求】基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:

• 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构。

• 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)。

• 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能


假设有 1000 个大学,每个大学有 30 个专业,每个专业有 50 门课,每门课考试的答案 20 判断题、20 选择题、4 道大题,每门课试卷 10kb。

则每年考试试卷记录的存储量为:

1000(大学) * 30(专业)* 50(课程数量)= 1500000。

每年考试试卷所需存储空间为:

1500000 * 10kb = 15G


数据结构:

可以使用 redis string 格式存储。

key 为试卷 id,具体可为学校 id+课程 id+学年

value 为试卷内容,string 格式。


读写流程:

老师设计完试卷后,以学校 id+课程 id+学年为 key,试卷内容为 string value,存入 redis。

系统读取试卷时,基于相应的 key,读取试卷内容。


redis 集群服务器数量:

假设常用的服务器内存为 16Gb,考虑每年试卷存储容量为 15Gb,假设需要保存最近 10 年的试卷,则为 150Gb,考虑冗余,大概需要 10 台服务器,由于 redis sentinel 集群需要奇数台服务器,因此,需要 11 台内存为 16Gbd 的服务器搭建 redis sentinel 集群。


用户头像

张贺

关注

还未添加个人签名 2018-11-03 加入

还未添加个人简介

评论

发布
暂无评论
模块四作业_架构训练营_张贺_InfoQ写作社区