写点什么

架构实战营 模块四课后作业

用户头像
iProcess
关注
发布于: 2021 年 05 月 24 日

作业

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

【作业要求】

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

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

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

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

 

用户行为建模和性能估算-考试试卷

假设学校的考试都安排在某一个月内,考试的时候请求试卷,提交答案,中间答题过程浏览器本地完成,由于考试集中在上午 4 小时和下午 4 小时,且请求试卷集中在考试开始的前 1 分钟,提交答案集中在考试结束前的 30 分钟,因此估算如下:

请求试卷:

1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒

提交试卷:

1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 30 分钟 = 1700/每秒

 

Redis sentinel 存储方案设计-考试试卷

【数据结构设计】

采用 redis 的 list 的数据结构

key:学校 ID + 年级 ID + 试卷 ID

value:每道题目

【读写分析】

1. 老师提交试卷,直接按照 key 保存

2. 学生查看试卷,按照 key 读取即可

 

Redis sentinel 读写流程-考试试卷

1、老师做好试卷后,提交试卷,按照 key 将试卷中的每一道题目存储在 redis 的 list 中;

2、学生进行考试时,选择试卷 key,读取题目 list,进行查看。

 

Redis sentinel 服务器数量和性能-考试试卷

1、redis 单机读写性能可达 10W/S,根据需求,读在 5W/S,写在 1700/S,根据 Redis sentinel 的高性能部署架构,一台主、两台从,三台 sentinel 即可。

2、部署架构图:


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

iProcess

关注

还未添加个人签名 2018.03.06 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 模块四课后作业