写点什么

架构实战营|模块 4

作者:KDA
  • 2022 年 6 月 19 日
  • 本文字数:378 字

    阅读完需:约 1 分钟

架构实战营|模块4

一、redis 数据结构设计

1、请求试卷

考虑到同一时间学生的考试内容是一样的,所以只需存储考试试卷内容即可。

这里使用 String 结构放 json 字符串来存储试卷内容。

2、提交试卷

学生提交试卷实际是提交的试题结果,这里需要区分学生和考试科目。

使用 HashMap 来存放试卷提交结果。

key:学校 ID + 学号 ID + 考试 ID。

value :考试答案,json 格式。

二、读写分析

1、学生登录考试系统后直接拉取当前考试试卷即可。

2、学生提交考试结果,直接安装 key 保存结果。

三、Redis sentinel 集群服务器数量预估

考试性能需求

1、在校学生考试结果存储:2.4T

2、离校学生考试结果存储:每年增长 0.6T

3、试卷请求 QPS:5 万/s

4、提交试卷:1700/s

情况分析

1、搭建 sentinel 至少需要 3 台服务器

2、redis 的 QPS 在 10 万左右,完全满足需求

3、redis 中只需存储考试试卷和考生提交结果,需要 10G 内存

4、请求试卷需要 50M/s 带宽

综上,需要 3 台 4 核 16G 服务器,网络带宽 60M


用户头像

KDA

关注

还未添加个人签名 2019.05.08 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营|模块4_#架构实战营_KDA_InfoQ写作社区