写点什么

模块四

作者:Geek_2ce415
  • 2022 年 6 月 18 日
  • 本文字数:475 字

    阅读完需:约 2 分钟

一、Redis sentinel 集群的试卷存储

1、存储分析

假设 1000 万在校学生,每个学生平均一学期 20 门课,100 人同一学校同一课程,

则需要试卷 1000 万*20/100=200 万份。

假设每门考试的答案 20 判断题、20 选择题、4 道大题(答案 200 字以内),假设每门试卷需要字符串 30K,答题内容缓存需要字符串 1K

则试卷需要 redis 存储 200 万份*30K 每份 ≈ 60G,答题缓存 redis 需要存储 1000 万份*1K 每份 ≈ 10G


2、试卷数据结构

【试卷数据结构】

key:学校 ID+课程 ID+试卷 ID。

value:试卷内容(JSON 字符串)

【读写分析】

1、老师从 mysql 集群的题库中生成试卷,并保存到 redis 中。

2、学生请求试卷,根据 key 返回 试卷内容 value。


【答题内容数据结构】

key:学校 ID+课程 ID+试卷 ID+考生 ID。

value:答题内容(JSON 字符串)

【读写分析】

1、学生作答,答题内容根据 key 暂存在 redis。

2、学生提交试卷,写入 HBase 集群。


二、Redis sentinel 集群的服务器数量

根据前面计算可得到:

试卷请求 QPS:5 万/s。

提交试卷 TPS:1700/s。

试卷需要 redis 存储 60G。

答题缓存需要 redis 存储 10G。


需要 redis 服务器 2 台:一主一备,内存都是 128G,32 核。

需要 sentinel 服务两台,以提高高可用。


用户头像

Geek_2ce415

关注

还未添加个人签名 2021.05.12 加入

还未添加个人简介

评论

发布
暂无评论
模块四_Geek_2ce415_InfoQ写作社区