Bootstrap

模块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实例。