写点什么

模块 4 千万级学生管理系统的考试试卷存储方案

用户头像
SAKIN
关注
发布于: 4 小时前

前提:

学生 : 1000w

学校 :2000 所

试卷请求 QPS : 5w/s

每张试卷:300K

平均没学期考科目:20 门

考题:判断题 20 道,选择题 20 道,大题 4 道


试卷占用存储大小:按照一学期来计算,2000 * 20 *300K ≈ 1.2G


  1. Redis 的数据结构设计

Key 结构设计

选择题 key:学校 ID :课程 ID:选择题

判断题 key:学校 ID :课程 ID:判断题

大题 key:学校 ID :课程 ID:大题

Value 结构设计

value 数据结构的选择:选择题和判断题选用 hash,大题选用 list

选择题/判断题:hash 的 key 用选择题/判断题题干来充当,value 用选项来充当

大题:list 直接存储题干


  1. 读写流程


  1. Redis 集群

试卷的存储 1.2G,所以单台 redis 选择 4 核 8G

试卷请求 QPS : 5w/s

所以 Redis 需要多台集群读取试,试卷大小为 300K,试卷的大小也决定着 redis 的 qps,所以假设 4 核 8G 机器可以支撑 1w/s,所以至少需要 5 台,性能冗余 5*1.5 ≈ 7 台,因为需要做自动切换,所以需要三台哨兵独立部署。一共 10 台 redis 服务器



用户头像

SAKIN

关注

还未添加个人签名 2017.09.10 加入

还未添加个人简介

评论

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