千万学生管理系统存储架构设计
数据结构设计考虑
试卷数据结构
试卷读取可以考虑按照分页,也可以考虑一次性读取,考虑到大部分的试卷内容不大(对于图片较多的试卷,建议图片单独存储),使用一次性读取。
数据结构考虑简单的 key-value 结构即可:
key:学校 id+年级+科目 id
value:试卷的完整内容
试卷读写流程
试卷写入流程
试卷读取流程
本地缓存没有试卷的情形:
存在本地缓存的情形:
Redis 集群数量预估
从模块 4 第 6 可得评估,试卷读取的 QPS 是 5 万/秒;
通过在试卷服务缓存试卷到试卷服务的本地缓存,假设每个试卷答题的学生是 50 人,则整个 Redis 的读取 QPS 可以降低到 1000/秒;
Redis 可以按照最小的 Sentinel 方案设计,一主一从三哨兵模式部署即可满足
版权声明: 本文为 InfoQ 作者【陈天境】的原创文章。
原文链接:【http://xie.infoq.cn/article/e6a6a77250f0f89b8d773491e】。未经作者许可,禁止转载。
评论