Bootstrap

【架构师训练营】模块四作业

【作业要求】

基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:

1)完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构

2)设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)

2)对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能

一、性能估算

【已有信息】

【估算】

由此可估算出:

  • 试卷数量:1000(学校)* 100(课)= 10 万;

  • 试卷所需存储空间:10 万 * 10KB ≈ 1GB。

二、数据结构

采用 redis 的 list 的数据结构

key:学校 ID + 年级 ID + 试卷 ID

value:一道道题目

【读写分析】

1. 老师提交试卷,直接按照 key 保存

2. 学生查看试卷,按照 key 读取即可

三、读写流程

【写】(老师)

老师做好试卷后,提交试卷,按照 key 将试卷中的每一道题目存储在 redis 的 list 中;

【读】(学生)

学生进行考试时,选择试卷 key,读取题目 list,进行查看。

四、Redis sentinel 服务器数量及性能

redis 单机读写性能可达 10W/S,根据需求,读在 5W/S,写在 1700/S,根据 Redis sentinel 的高性能部署架构,一台主、两台从,三台 sentinel 即可。