千万级学生管理系统的考试试卷存储方案
前言
【考试存储性能需求】
在校学生考试结果存储:2.4T
离校学生考试结果存储:每年增长 0.6T
试卷请求 QPS:5 万/s
提交试卷 TPS:1700/s
经过分析,试卷的存储和访问用 Redis Sentinel 模式进行存储,考试结果用 HBase 进行存储。
试卷存储设计
【数据结构设计】
key: 学校 ID+课程 ID+考试 ID
value: list 结构(list 中每一项就是一道题目)
【读写分析】
设计完试卷内容后,按照 key 将试卷内容以 list 结构存储起来
学生考试时按照 key 读取 list
Redis sentinel 集群的服务器数量和性能
Redis 理论上可以达到 10 万/s 左右的 QPS,实际上试卷的内容有的多,有的少,对读取性能可能会有点影响,假设可以达到 1 万/s 左右的 QPS,那么按照需求中的 5 万/s 的 QPS 要求,只要 5 台服务器可以满足读取性能要求。
最终采取 1 主+4 从的架构。
版权声明: 本文为 InfoQ 作者【高山觅流水】的原创文章。
原文链接:【http://xie.infoq.cn/article/53d18a4f5fe561203bffdfea3】。未经作者许可,禁止转载。
评论