模块四作业
用户行为建模和存储性能估算
假设每门学科每学期 2 次考试,每年 2 个学期,每个学生平均一学期 20 门课,考试采取机考的方式,每门考试的答案 20 判断题、20 选择题、4 道大题(答案 200 字以内),考试结果永久保存,在校学生能够看到自己曾经的考试结果。
假设判断题每题 50 字,选择题每题 150 字,大题每题 300 字,每个字按 3B 计算,一份试卷大小为
假设每个学校每个专业平均有 50 人,每次考试要考 20 门课,则有 400 万份试卷,每次考试要存储约 55GB 的数据。
数据结构设计
数据结构采用 String 类型
Key: 学校 ID+课程 ID+考试 ID。
Value: 试卷内容存储为 JSON 格式。
读写流程设计
老师生成试卷时,根据学校 ID+课程 ID+考试 ID,将试卷内容写入 Redis。
学生读取试卷时,根据学校 ID+课程 ID+考试 ID,读取试卷内容。
服务器数量和性能设计
选择 3 台 4C64G 的机器来部署 Redis 主从,3 台 2C8G 的机器来部署 redis sentinel。
评论