写点什么

模块四作业

用户头像
Chris Cheng
关注
发布于: 2021 年 05 月 18 日

1. 设计千万级学生管理系统的考试试卷存储方案

【作业要求】

基于模块 4 第 6 课的估算结果和 Redis sentinel 的初步方案设计,完善考试试卷存储方案,具体包括:

  • 完善 Redis 的数据结构设计,明确具体使用哪种 Redis 数据结构

Key:学校 ID + 学号 ID + 考试

Value:String(Json string 内以不同 key 存储 Result 和 Score)


  • 设计具体的读写流程(可以文字描述也可以序列图描述,序列图要有文字辅助说明)

读流程:

  • 客户端发起 rest API 读取试卷请求,传学校 id,学生 id , 考试号码给试卷读服务(请求经过负载均衡器/gateway 调用某个读服务)

  • 试卷读服务根据学校 id,学生 id , 考试号码,生成 key, 去 Redis 夺取相应内容,因为是读请求,某个 Redis salve 会提供服务,返回结果。试卷读服务会把得到的内容返回给客户端

写流程

  • 客户端以 JSON 格式通过 rest API post 结果给试卷服务器,试卷写服务(请求经过负载均衡器/gateway 调用某个写服务)

  • 试卷写服务拿到试卷内容,根据学校 id,学生 id , 考试号码,生成 key, 向 Redis 主服务写试卷内容


  • 对照模块 4 第 6 课的性能估算结果,计算 Redis sentinel 集群的服务器数量和性能

请求试卷: 5 万/每秒

提交试卷 1700/每秒

Redis 单机 TPS 5~10 万, 所以 Redis sentinel 集群一台 master 和 一台 slave 就够了

用户头像

Chris Cheng

关注

还未添加个人签名 2018.04.07 加入

还未添加个人简介

评论

发布
暂无评论
模块四作业