写点什么

架构实战营 - 模块 4- 作业

用户头像
莫问
关注
发布于: 2021 年 05 月 23 日

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

【作业要求】基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:1)完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构 2)设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)3)对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能

【提示】性能可以有一定冗余如果对 Redis sentinel 不熟悉,请参考官方文档: https://redis.io/topics/sentinel


Step1 估算性能需求

【登录】

1. 登录次数:3000/s

2. 登录记录:存储数据量 36 亿条,存储容量 43G,写入 TPS = 登录 TPS = 3000/s,读取 TPS 无需特别设计

【注册】

1. 注册 TPS = 3/s,可以忽略不计

2. 在校学生数据存储:基本数据 = 2G,图片数据 = 10T

3. 离校学生数据存储:基本数据每年增长 500M,图片数据增长 2.5T

【考试】

1. 在校学生考试结果存储:2.4T,

2. 离校学生考试结果存储:每年增长 0.6T

3. 试卷请求 QPS:5 万/s

4. 提交试卷 TPS:1700/s

Step2 选择存储系统



Step3 设计存储方案

数据结构设计

key: 学校 ID+考试 ID

value: 试卷

读写分析

1、老师提交试卷按照 key 保存“试卷”

2、学生根据 key 获取“试卷”

发布于: 2021 年 05 月 23 日阅读数: 13
用户头像

莫问

关注

站在现在看未来,站在未来看现在 2019.11.20 加入

居安思危,先忧后乐

评论

发布
暂无评论
架构实战营 - 模块4- 作业