写点什么

极客时间架构训练营模块四作业

  • 2023-01-15
    上海
  • 本文字数:342 字

    阅读完需:约 1 分钟

复杂度分析

通过对用户行为建模与场景估算可知,系统复杂度在于需要做到五万的 QPS。

数据结构

使用 hash 作为试卷存储数据结构。

使用课程名称作为 key,试卷内容做为 value。

  • 使用 hash 作为数据结构,hash 可以提供 O(1)的查询复杂度,很适合需要大并发读的场景。

  • value 存储自定义试卷对象,可以更好的适应试卷内容的存储结构。

读写流程

教师拟好考试试卷之后,可以将试卷直接发布至 Redis 中。如需做持久化,可将试卷保存至 MySQL,在考试之前将 MySQL 中对应科目的试卷推送至 Redis。

学生开考之后会根据考试科目请求试卷,此时直接从 Redis 中通过 key 请求试卷内容。

集群数量与性能

Redis 使用 2C4G 的服务器,单机即可满足五万的 QPS。使用 Redis sentinel 作为 Redis 的部署模式。

需要两台机器作为哨兵。

两台机器分别作为 Redis 的主从来保证高可用。

共需要四台机器。

用户头像

还未添加个人签名 2019-03-07 加入

还未添加个人简介

评论

发布
暂无评论
极客时间架构训练营模块四作业_架构训练营10期_现在不学习马上变垃圾_InfoQ写作社区