架构实战营第四周作业——考试试卷存储
Redis 数据结构:
最简单的做法,直接用 String,key 为试卷名,value 为题目内容。
如果分得细一些,用 Hash,key 为试卷名,field 为试题细分,value 为题目内容。
具体的读写流程
系统采用主从架构,读写分离,所有写入的只有主机,读的时候从主从机子读取。
写流程:
用户页面输入 --> 服务器接收处理 --> 写入主 redis
读流程:
用户页面加载 --> 服务器接收处理 --> 从 redis 集群读取数据
如果考虑将试卷数据持久化到 mysql 或者 hbase,可以再在 redis 后再加一层持久化的逻辑,系统启动的时候通过应用服务器逻辑将数据从持久化源加载到 redis 中。
redis sentinel 集群服务器数量和性能
a. 首先 sentinel 集群,官方推荐奇数机数,所有至少三台;
b. redis 主从服务器,按课程中的推算,请求试卷的 QPS 为 5w,单台 redis 基本可以满足性能需求(理想情况),而这里用了主从架构,在此配置一主二从 3 台服务器。
评论