模块 4
性能要求
试卷请求 QPS:5 万/s
提交试卷 TPS: 1700/s
Redis 数据结构
考卷数据结构
key: 学校 ID+课程 ID+考卷 ID
value 类型为 String,存放试卷信息
考题数据结构
key: 学校 ID+课程 ID+考卷 ID+考题 ID
value 为 hash 数据类型,存放题目的内容
学生答卷数据结构
key: 学校 ID+课程 ID+考卷 ID+学生 ID
value 为 hash 数据类型,存放答题内容
读写流程
1.老师拟好试卷后将考题存入系统,考题存放到 mysql 集群数据库,考题可能存放十年以上,不能丢失。
2.考题在考前同步到 redis 中进行缓存,待考试完成后 redis 中考卷缓存自动过期。
3.考生提交答案到 redis 中。
redis sentinal 设计
redis 单机接单大概在 5w 作用,考试读取考卷的 tps 就在 5 万,也许机器好些在优化优化,单机也能用用,但是并不保险,使用 sentinal 实现 redis 高可用,同时使用一主一备或者一主两备的存储架构确保读写性能。
评论