写点什么

架构训练营 - 模块四

作者:Geek_9de3de
  • 2021 年 11 月 17 日
  • 本文字数:485 字

    阅读完需:约 2 分钟

1、性能估算

 • 题库存储空间(保存 10 年):1000(学校) * 100(课程)* 2(考试次数)* 10(年) * 5KB(试卷)=10G

 •考试结果存储空间:1000 万 * 20(课)* 2(考试次数) * 1KB(答案)* 2(学期) * 3(只有前三年考试)= 2.4T。

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

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


2、数据结构设计

2.1、老师录入题库

采用 String 数据结构

Key: 学校 ID + 题目 ID

Value: 题目 JSON

2.2、老师从题库里选择题目,然后创建试卷

采用 String 结构,value 为题目内容

Key: 学校 ID + 试卷 ID

Value:试卷内容 JSON

2.3、考试系统前端页面拉取试卷

通过 get 获取指定试卷内容 JSON

2.4、学生提交试卷

采用 Hash 结构

Key:学校 ID +学生 ID

Field:试卷 ID

Value:答案 JSON

2.5、老师批改试卷

采用 Hash 结构

Key:学校 ID +学生 ID

Field:试卷 ID

Value:批改结果 &成绩

2.6、学生查看考试成绩

通过学校 ID +学生 ID,即可查询到指定学生的成绩


3、集群的服务器数量和性能

采用五哨兵,单 redis 实例 64GB 内存,40 个分片,每个分片 1 主 1 从。

用户头像

Geek_9de3de

关注

还未添加个人签名 2019.12.10 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 - 模块四