Bootstrap

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

学习总结

学习架构设计中的存储架构设计

包含数据库存储架构,复制、分区、分片

常见的存储架构产品有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台就足够了