架构实战营 - 模块四作业
数据结构设计
REDIS
Key:<年分>-<学校 ID>-<学科 ID>-<第几次考试(1 or 2)>
数据结构: Hashtable
读写流程
可以用单机储存所有试卷的情况
老师完成试卷, 上传至系统
系统将试卷存放到 MySQL 后, 上传到 Redis
Redis 主从同步资料
考试开始, 学生请求试卷
可以用单机储存当天试卷的情况
老师完成试卷 上传至系统
系统将试卷存放到 MySQL
考试开始前一晚上传到 Redis,设置资料过期
Redis 同步资料
考试开始, 学生请求试卷
无法用单机储存的情况
改用 Redis cluster
计算 Redis sentinel 集群的服务器数量和性能
试卷请求 QPS:5 万/s
单机 redis qps : 5-10 万/s
採用一主一从配置即可满足性能要求,由于採用 Redis sentinel,最少需要三台 sentinel,最终採用一主二从
假定峰值 5 万/s*5 = 25 万/s 採用一主三从配置(四台 sentinel) 即可满足要求
评论