写点什么

架构实战营 第 6 期 模块四课后作业

作者:火钳刘明
  • 2022 年 4 月 29 日
  • 本文字数:362 字

    阅读完需:约 1 分钟

千万级学生管理系统考试试卷存储方案

1. 数据结构设计

Key:学校 ID + 考试 ID

Value:用 Sorted Set 按顺序存储题目


因为考试题目对每一个学生都是一样的,用学校 ID 和考试 ID 就可以唯一记录一场考试。

考试题目是不能重复,并且有顺序的,所以选择用 Sorted Set。

2. 读写流程

新增考试:按学校 ID + 考试 ID 作为唯一的 Key 新建记录

新增题目:将题目按题号顺序插入记录题目的 Sorted Set


读取题目:按照学校 ID + 考试 ID 找到对应的考试记录,从 Sorted Set 按顺序读取题目并显示

3. 性能估算

因为每个学期有 20 场考试,加入每场考试都由一个老师输入题目,所以 TPS 为:20/s。

根据以上分析,已知试卷目请求 QPS:5 万/s。


写入请求 TPS 较低,可以不考虑性能问题。

读取请求 QPS,已知 Redis 单个节点可达到 5 万/s。考虑一定冗余,可配置包括 3 个节点的 Redis sentinel。这样可以满足 3 x 5 万/s = 15 万/s 的读取请求。

用户头像

火钳刘明

关注

还未添加个人签名 2021.07.02 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 第 6 期 模块四课后作业_#架构实战营_火钳刘明_InfoQ写作社区