写点什么

架构实战营 - 模块 4

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

背景

假设学校的考试都安排在某一个月内,考试的时候请求试卷,提交答案,中间答题过程浏览器本地完成,由于考试集中在上午 4 小时和下午 4 小时,

且请求试卷集中在考试开始的前 1 分钟,提交答案集中在考试结束前的 30 分钟,因此估算如下:

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


Redis 数据结构使用 Sets

数据结构设计

key: 学校 ID + 课程 ID

value: 试卷(JSON 序列化)


读写分析

  1. 教师登录后,选择课程,添加试卷。试卷存储使用教师编号前缀里的学校信息(学校 ID) + 选择的课程信息(课程 ID)作为 key 存储

  2. 学生登录后,选择考试课程,进入考试界面,根据学号前缀里的学校信息(学校 ID) + 选择的课程信息(课程 ID)获取试卷内容


Redis sentinel 集群服务器数量估算(需要 3 台服务器)

理由:

  1. Redis 单机参考性能支持 5w-10w QPS(理论上单台服务可以支撑)

  2. Redis sentinel 模式至少需要三台服务器支持


用户头像

Cingk

关注

还未添加个人签名 2017.11.03 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营-模块3