考试试卷存储架构
背景
1、用户量:1000 万
2、接口设计
1)请求试卷:约 5 万/每秒
2)提交试卷:1700/每秒
3、考试试卷的存储架构采用 Redis sentinel 存储
方案设计
1、请求试卷
1)数据结构设计
Key:学校 ID+试卷 ID
Column Family:info
2)读写分析
a、学生登录系统,发起在线考试请求,通过 Key 读取即可
3)存储方式采用字符类型 String,试卷内容以 Json 字符串存储
4)接口设计
a、发起请求数据内容
b、读取 Redis 缓存数据
1、不存在试卷缓存数据,从 Mysql 数据读取(试卷内容需要关系型数据库)
2、存在试卷缓存数据,直接返回
2、提交试卷
1)数据结构设计
Key:学校 ID+试卷 ID+学生 ID
Column Family:info
2)读写分析
a、学生发起在线考试提交请求,生成 Key 存在到 Hbase 数据库
服务器数量
1、单台 Redis 最大支持 5-6 万每秒,基本满足,但是为了冗余,最好是两台 Redis 集群,2 台 sentinel
评论