写点什么

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

  • 2022 年 1 月 07 日
  • 本文字数:575 字

    阅读完需:约 2 分钟

【作业要求】

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

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

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

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


一、性能估算

【已有信息】

  1. 每门考试 20 判断题、20 选择题、4 道大题;

  2. 请求量: 试卷请求 QPS:5 万/s,提交试卷 QPS:1700/s;

【估算】

  1. 假设有 1000 个学校,每个学校每学期每次有 100 门课程需要考试;

  2. 假设每次试卷大小为 10kb;

由此可估算出:

  • 试卷数量: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 即可。


发布于: 刚刚阅读数: 2
用户头像

还未添加个人签名 2018.08.01 加入

还未添加个人简介

评论

发布
暂无评论
【架构师训练营】模块四作业