写点什么

架构实战营 1 期 - 第四模块作业

用户头像
李东旭
关注
发布于: 2021 年 08 月 05 日
架构实战营 1 期 - 第四模块作业

架构实战营 1 期 - 第四模块作业


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


作业要求

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

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

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

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


提示

性能可以有一定冗余

如果对 Redis sentinel 不熟悉, 可以参考官方文档 https://redis.io/topics/sentinel


Redis 资料

http://redis.cn

http://www.redis.com.cn/commands.html


Redis 数据结构设计


考题说明 (Redis Hash) question_[qqq]

question_title 题目标题

question_type 题目类型 (radio - 多选 checkbox - 多选 answer - 简答题)

option_1 选项 1

option_2 选项 2

option_n 选项 n 支持多个


考题答案 (Redis String) question_answer_[qqq]


试卷 (Redis List) test_paper_[ttt]


试卷答案 (Redis List) test_paper_answer_[ttt]


考生试卷 (Redis List) candidates_[ccc] 存入 test_paper_[ttt] 中所有元素


考生试卷结果 (Redis Hash) candidates_answer_[ccc] 存入学生每题结果, 支持单体保存


Redis 数据结构图


读写流程


Redis 试题 考试流程



性能估算

每个试卷大概 1k-2k 字符串, 预估最多 100K,

交卷时, 都是选择题大约 1k 简答题比较多, 也需要 100k 左右

流量 1000w * (1k - 100k) 大约 10G 到 1T 流量 存储也需要 10G - 1T

以服务器内存 128G 为例 大概需要 1 到 8 台, 考虑到冗余 16 台 128G 内存是比较保险的

主要看试题, 如果试题以选择题为主, 答案占据空间很少 16G 的服务器 2 台就足够了


发布于: 2021 年 08 月 05 日阅读数: 23
用户头像

李东旭

关注

还未添加个人签名 2021.04.12 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 1 期 - 第四模块作业