写点什么

学习心得 - 架构训练营 - 第四课

用户头像
Fm
关注
发布于: 刚刚

Redis Sentinel 存储方案设计


【数据结构设计】

1.试卷

  • 数据结构:采用 redis 的 list 存储数据

  • key:学校 ID+年度+试卷名

  • value:判断题、选择题、大题、答案


2.考试答案

  • 数据结构:采用 redis 的 hash 存储数据

  • key:试卷 ID

  • value:考试答案


读写流程

1.学生登录后,从 redis 集群中根据 KEY(学校 ID+年度+试卷名) 接取考试数据;

2.生成试卷;

3.学生答题完成后提交试卷,会从 redis 集群中拉取判定题、选择题的答案进行计分,并将

并将结果写入 HBASE 对应考生考试记录中;

4.老师评分,查询 HBASE 提取考生大题,并对考生考试进行评分,并将结果同步写入到 MYSQL 及 HBASE 中。


性能估算

性能:

根据《存储性能需求汇总》部分确认考试请求 QPS 高达 5 万/s,而 redis 单台 QPS 在 8 万/s,redis 能够满足考试性能需求;


存储:

1.试卷

全国约 3000 家大学,500 门专业课,一次考试大约生成(3000 学校*500 课程/4 学年) 40 万套试卷,每套试卷约 10k 数据,约 4G 数据


2.答案

40 万*1k(答案),约 400M 数据


单台 redis 的内存可满足考试需求,考虑到高可用,Redis 选用 Redis Sentinel 方案,采用三节点,每个节点即跑 redis 又跑 Sentinel 。


用户头像

Fm

关注

还未添加个人签名 2017.10.20 加入

还未添加个人简介

评论

发布
暂无评论
学习心得 - 架构训练营 - 第四课