写点什么

架构训练营 模块四

作者:Geek_16d2b8
  • 2022 年 3 月 06 日
  • 本文字数:674 字

    阅读完需:约 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。

数据结构

考试试卷分为题目及答案,学生先获取到题目,然后进行答题,答题完成后提交作答,返回答案比对。因此题目和答案分开存储

  • 针对考试题目存储,使用 hash 数据结构。

key 为学校 id+课程 id+试卷 id

hash 结构中的 key 为 题目编号

hash 结构中的 value 为 题目文本

  • 针对考试答案存储,使用 hash 数据结构。

key 为学校 id+课程 id+试卷 id

hash 结构中的 key 为 题目编号

hash 结构中的 value 为 题目正确答案


读写流程

【写】(老师)

老师做好试卷后,提交试卷,按照学校、课程、数据生成 hash key, 题目编号为 key。

【读】(学生)

学生进行考试时,选择试卷 key 找到对应的 hash 结构,读取题目 ,进行查看。

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

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

用户头像

Geek_16d2b8

关注

还未添加个人签名 2019.03.21 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营 模块四_架构训练营5期_Geek_16d2b8_InfoQ写作平台