模块四 -reids 存储方案
1、数据结构
采用 redis 的 hash 结构进行存储
Redis key :学校 ID+年级+课程
Hash key :试卷 ID
Hash value :试卷内容,json 格式字符串存储
2、读写流程
根据学校 ID+年级+课程+试卷 ID 从 Redis sentinel 集群中的任意一台机器中获取试卷内容即可
3、性能估算
请求试卷:1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒
试卷数量:1000(学校)*200(课)= 20 万,每套试卷大小 50k≈10G,一台服务器即可存储,不需要分片
单台 redis 的读写性能在 5 万-10 万 QPS 之间,但是为来保证系统的高可用性,我们使用 1 主 2 从的 reids 集群即可,使用 sentinel 的选举原理对 reids 集群进行故障自动转移,sentinel 同样部署三台以保障 sentinel 的高可用性,最终部署结构如下:
评论