模块四作业:千万级学生管理系统试卷存储方案
存储性能需求
试卷请求 QPS:5 万/s
提交试卷:1700/s
存储方案
Redis Sentinel
数据结构设计
1)数据结构
Key:学校 + 学期 + 科目
Value:试题用 SortedSet 来存储
2)读写分析
添加或修改试题:使用题号作为 score 排序。先根据题号查询试题是否存在,不存在的话直接添加试题,存在的话,先删除当前题号的试题,然后添加新试题。
读试题:学生根据所在学校,所属学期,和考试科目可用一次查询出按题号排序的所有试题,也可以按题号范围,查询出按题号排序的部分试题。
Redis Sentinel 服务器数量和性能分析
Redis 的读取性能瓶颈主要在带宽。假定每次试卷请求的数据量为 1000KB,则每秒需要的带宽为 5 万 M。如果每天服务器的下行带宽为 100M,则需要 500 台服务器。相当于每台服务器每秒处理 100 个试卷请求,每秒传输 100M 数据。
评论