写点什么

架构 1 期模块四作业

用户头像
五只羊
关注
发布于: 14 小时前

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

1.考试试卷存储性能的需求

     试卷请求 QPS:1000 万(用户预估量) * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒

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

2.数据结构

   选择 list,list 有序且可以重复,题目一道一道的放

   key:学校 ID+学号 ID+试卷 ID

   Column Family:test

   Column:result,score,其中 result 是 JSON 格式

3.部署架构

试卷存储和访问使用 redis sentinel 存储,其部署架构为主从复制,可采取“二次读取”应对读写分离带来的复制延时,也可忽略复制延时,因为上传试卷和考试时间可能间隔比较久。

4.具体读写流程:

    1)学生登录考试系统,权限系统经过验证,学生登录成功。

    2)学生请求考试试卷,redis 读取试卷,返回结果。

    3)学生提交试卷,redis 保存试卷内容并返回提交结果。

5.Redis sentinel 服务器数量及性能

    redis 单机支持 5 万-10 万 TPS,在校学生单次考试结果存储量为 1000 万 * 20(课)* 1000(答案)= 0.2T=204.8G

   因此服务器的适量为 204.8G/128G≈2 台,考虑到性能冗余,将服务器增加到 3 台。

用户头像

五只羊

关注

还未添加个人签名 2021.03.30 加入

还未添加个人简介

评论

发布
暂无评论
架构1期模块四作业