写点什么

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

用户头像
俞嘉彬
关注
发布于: 2021 年 05 月 23 日

1 首先用户量预估

预估使用用户为 1000 万

2.关键行为

1.登录注册

2.文件上传和下载

3.选课

4.考试

1.登录

1.登录次数 3000/s

2.登录记录: 存储的数据量 40 亿条,存储容量 40G,写入的 TPS = 登录 TPS = 3000/s

2.登录注册

1.注册可以忽略不计

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

3.试卷请求的 TPS: 4 万/s

4.提交试卷 TPS: 1700/s

5:试卷存储: 每一学生对应有对门课程,并且每一个门课程都有 2 次考试次数,

鉴于考试试卷上述复杂度的分析结果,现在对于考试试卷的存储架构分析方案如下:



读取整个考据信息的流程如下 :



1.用户登录后,输入课程号进行自身考卷信息的查询,通过 Nginx 负载均衡访问 Redis,然后通过 redis 读取 Hbase 中的数据并且反馈给查询者


关于数据结构的分析:

Key : 学校 Id + 学生 Id + 课程号

Column Family : login

Column :学生 Id, 课程号

读写分析:

1.学生登录后,按照自身有的课程号进行查询即可

根据以上的分析,Redis 采用 Hash 的形式来存储考卷的信息比较合适


根据分析的性能的估算结果,Redis sentinel 的服务器数量为 4 台,每台大致能够对应于 10000 左右的访问量。

每台服务器的配置大致如下:

CPU: i7

内存:32GB

硬盘容量:1TB

用户头像

俞嘉彬

关注

还未添加个人签名 2018.08.10 加入

还未添加个人简介

评论

发布
暂无评论
设计千万级学生管理系统的考试试卷存储方案