模块4作业
基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:1)完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构
2)设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)
3)对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能
Redis只需要存当日、小时要进行的考试科目的试卷存储,科目数量有限,总计存储量很低。
请求量:
请求试卷:峰值5w/s
提交答案:峰值1700/s
数据结构设计:
试卷存储方式:redis string,key:学校Id+课程名称+考试日期,value:试卷内容,比如JSON形式。value可能比较大,比如有些考试的题目字数可能比较多。
redis读写流程:读:服务端读redis key,写:提交试卷后写入redis
sentinel集群服务器数量和性能:读请求5w QPS单台redis完全能支撑。sentinel提供高可用保证,最少要3个redis实例。master down由sentinel自动fail over选择新的master提供服务。提交答案QPS可由单台Redis支撑。
总之,极端情况下总量5w 读+ 1700写使用1台Redis即可满足要求,配合sentinel需要3个Redis实例。