写点什么

模块四(千万级学生管理系统的考试试卷存储方案)

作者:Geek_701557
  • 2022 年 6 月 13 日
  • 本文字数:436 字

    阅读完需:约 1 分钟

一.考试试卷存储性能需求

1. 试卷请求 QPS:5 万/s;

2. 提交试卷 TPS:1700/s;


二.数据结构设计

用 redis 的 zset 来存储,它的特点是去重,可以调整顺序

  • key: 日期+学校+ 学院+专业+课程

  • score: 题目的编号 (将编号设置为 4 位数,前 2 位用于对大题的编号,后 2 位用于对大题中小题的序号编号,一般考试大题或小题的编号是不会超过 99 的)

  • value: 题目的内容


三.读取流程

  • 新增:根据 key(日期+学校+ 学院+专业+课程), 向它的 value 添加题目的内容

  • 删除:根据 key + score ,删除指定的题目

  • 修改:根据 key + score ,找到具体的题目,修改其 value

  • 读取:根据 key,获得试卷的内容,也可以用 zrange key index index ,跳着查看具体的某道题目


四.Redis sentinel 集群的服务器数量和性能

根据试卷存储性能需求,试卷请求 QPS:5 万/s; 提交试卷 TPS:1700/s;根据网上查到单台 redis 的 QPS 为 10 万,TPS 为 8 万,完全满足试卷存储性能需求,考虑到系统的高可用性,用三台 redis 服务器,一台主,二台备,同时用另外 3 台机器作为 sentinel,保证出问题时,能保证系统的高可用性。

用户头像

Geek_701557

关注

还未添加个人签名 2021.06.28 加入

还未添加个人简介

评论

发布
暂无评论
模块四(千万级学生管理系统的考试试卷存储方案)_Geek_701557_InfoQ写作社区