写点什么

架构师第四课作业

作者:马英杰
  • 2022 年 1 月 09 日
  • 本文字数:503 字

    阅读完需:约 2 分钟

1、学生管理系统存储架构图

2、redis 存储结构设计

根据上面的设计,学生管理系统的试卷存储和访问使用 redis 来实现,并使用 Sorted set 数据结构存储,其内部使用 HashMap 和跳跃表(SkipList)来保证数据的存储和有序,HashMap 里放的是成员到 score 的映射,跳跃表按 score 从小到大保存所有集合元素。使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。时间复杂度与红黑树相同,增加、删除的操作较为简单,该功能对于性能的要求会比较高,所有使用 Sorted set 数据结构存储是比较合适的。

3、具体读写流程

【数据结构设计】

Key:学校 ID + 学号 ID

value:试卷内容

【读写分析】

1. 学生通过自己的学校 ID 和学号读取试卷内容,并将自己的答案写入到试卷中

4、集群服务器和性能

假设学校的考试都安排在某一个月内,考试的时候请求试卷,提交答案,中间答题过程浏览器本地完成,由于考试集中在上午 4 小时和下午 4 小时,

且请求试卷集中在考试开始的前 1 分钟,提交答案集中在考试结束前的 30 分钟,因此估算如下:

• 请求试卷:1000 万 * 20(课)/ 20(周末不考试) / 4(每天 4 堂考试)/ 1 分钟 = 250 万请求/分钟 ≈ 5 万/每秒

Redis 单机 TPS 5~10 万,使用 3 台服务器,主从复制,读写分离满足性能要求。

用户头像

马英杰

关注

还未添加个人签名 2020.08.04 加入

还未添加个人简介

评论

发布
暂无评论
架构师第四课作业