写点什么

模块四作业

用户头像
俊杰
关注
发布于: 3 小时前

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


部署方案

采用 Redis Sentinel


【部署方案】:一主两从三哨兵

【机器配置】:4 核 16G

【Redis 配置】:内存限制为 8G,预留 50% 给系统


【性能分析】:

每天两个场次,每个场次试卷数是有限的,试卷内容和提交答案内容也不大,每个机器 8G 足够;

请求试卷集中在考试前可以达到 5 万 QPS, 读取请求分发到 3 台机器,完全可以满足的 5 万 QPS.


详细设计

请求试卷

【数据结构设计】

试卷存储使用 String 类型

Key: 试卷 ID

Value:试卷内容


【读写分析】

  1. 缓存预热,每天的考试开始前,将该场次试卷内容从数据库写入 redis

  2. 请求试卷集中在考试开始前一分钟,按试卷 ID 读取试卷内容


提交试卷


【数据结构设计】

提交试卷使用 Hashtable 类型

Key: 学生 ID

Value:试卷内容


【读写分析】

  1. 学生提交试卷,redis 数据结构使用 Hashtable,以学生 ID 为 key,试卷答题内容为 value.

  2. 提交试卷的数据首先存储到 redis,然后以异步方式持久化到数据库中


用户头像

俊杰

关注

还未添加个人签名 2017.08.27 加入

还未添加个人简介

评论

发布
暂无评论
模块四作业