写点什么

架构实战营模块四作业

作者:Poplar
  • 2021 年 12 月 30 日
  • 本文字数:490 字

    阅读完需:约 2 分钟

Redis 数据结构

分析:语文试卷卷面大约 10000 字,数学试卷卷面大约 1000 字,其他科目试卷比起数学来说只多不少,就算按照数学试卷来说,1000 字即 2K 字节,加上点富余就是 3K,每秒 5 万次请求就是每秒 150MB 的读取量,需要 2G 左右的带宽,考虑到稳定,带宽需要更高,但是为了考试这几天使用购买那么大的带宽没必要,所以引入 CDN

试卷结构

试卷结构使用 sorted set

key:paper:学校 ID:课程 ID:考试 ID

member 试题

score 试题编号

试卷 CDN 结构

试卷 CDN 使用字符串

key:cdnpaper:学校 ID:课程 ID:考试 ID

value:试卷链接

答案结构

答案结构使用 hash

key:answer:学校 ID:课程 ID:考试 ID:学生 ID

field:试题编号

value:答题信息

读取流程

学生读试卷

1、传入学生的学校、课程、考试信息,到后台系统。

2、后台系统通过学校、课程、考试信息去 redis 拿到试卷链接。

3、后台系统将试卷链接返回给学生。

4、学生通过试卷链接获取试卷。


学生作答

1、传入学生的学校、课程、考试信息、答案信息到后台系统。

2、后台系统将数据写入 redis。

3、后台系统返回写入结果给学生。


存储分析

redis 集群单台 TPS 能到 10 万级别,所以理论上单机足够,但是为了保证考试期间系统的高可用性,所以使用 redis 主从,一主两从。


用户头像

Poplar

关注

还未添加个人签名 2018.04.23 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块四作业