写点什么

【架构实战营】模块四作业

作者:liu🍊
  • 2021 年 11 月 21 日
  • 本文字数:507 字

    阅读完需:约 2 分钟

千万级学生管理系统的考试试卷存储方案

1.考试试卷存储性能需求估算

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

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

试卷请求 QPS:5 万/s;

提交试卷 TPS:1700/s。

 

2. 选择存储系统



3. Redis 存储方案设计

(1)数据结构设计

由于考试的试卷存储量相对较少,且没有更新等操作,所以考虑使用 String 结构就可以满足。

Key:学校 ID:课程 ID:考试 ID

Value:试卷格式为 Json,转为 String 进行存储

(2)读写分析

老师编写完试卷之后,以学校 ID:课程 ID:考试 ID 为 key 写入到 redis 中。

学生开始考试后,系统读取对应 key 的 value,获取试卷信息。

 

4. 读写流程

(1)老师先出试卷,可以复用 Hbase,存储在 Hbase 中

(2)试卷同步到 redis 集群当中,增加读取性能

(3)考试过程中,学生读取试卷,可以访问不同的 redis 节点

(4)学生将试卷答案存到 redis 当中,以保证比较高的 TPS

(5)最终把 redis 中的试卷答案存入 Hbase 中落地



  1. 计算 Redis sentinel 集群的服务器数量和性能

试卷请求为 5 万 QPS,一般单台 redis 的性能为 5W-10W(QPS),而 Redis sentinel 模式可以保证高可用,一般最少为 3 节点,所以 Redis sentinel 集群采用 3 台服务器,1 主 2 备。

用户头像

liu🍊

关注

还未添加个人签名 2021.01.26 加入

还未添加个人简介

评论

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