架构实战营 - 第四模块作业
学习总结
学习架构设计中的存储架构设计
包含数据库存储架构,复制、分区、分片
常见的存储架构产品有MySQL Redis Mongo HDFS Hive HBase 等
常用的存储设计是 复制 分区
架构实战营 - 第四模块作业
设计千万级学生管理系统的考试试卷存储方案
作业要求
基于模块 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字符串, 预估最多10K,
交卷时, 都是选择题大约 1k 简答题比较多
流量 1000w * 1k 大约 10G 流量和存储
以服务器内存 32G为例 大概需要 1 台, 考虑到冗余 3台 32G 内存是比较保险的
主要看试题, 如果试题以选择题为主, 答案占据空间很少 8G 的服务器2-3台就足够了