极客时间架构实战营作业四

简介: 极客时间架构实战营作业四

模块四课程笔记:

详情见:https://www.processon.com/view/link/61507e35e0b34d69dd7d6dcb


作业题:

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

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

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

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


  • Redis 数据结构
  • 考试人员采用 Set 存储,其 key 构成规则为 exam:member:{考试 ID}, value 存考试人员 ID;
  • 考试试题基础信息采用 Hash 存储,其 key 构成规则为 exam:profile:{考试 ID},value 存储的是考试对象,对象包括考试基础信息,包括考试开始时间,考试结束时间,考试标题,考试说明等基础信息。
  • 试卷详情信息采用 Redis List 存储,每套考题题目存储为一个 list,按题号顺序摆放;

题目详情:key 结构为 exam:detail:{考试 ID},List 中存储的每一道题,以 JSON String 方式存储,其结构为{"number": xx, "score": xx, "content": "xxxxxxxxxxxx"},其中,number 是题目编号,score 是题目的分值,content 是题目的内容。

  • 学生答题流程图:

https://www.processon.com/view/link/615099c6e0b34d69dd7d9050

  • 请求试卷:5w/s,提交试卷:1800/s,

采用哨兵机制,要求考虑高可用,则哨兵节点考虑为 3 个,当其中两个节点都认为主库宕机时,投票选出新的主库,从库数量设置为 5 个,单个节点承担 1w/s 的读请求。


目录
相关文章
|
11月前
|
人工智能 供应链 调度
|
缓存 容灾 架构师
极客时间架构实战营总结
极客时间架构实战营总结
914 0
|
消息中间件 存储 关系型数据库
极客时间架构实战营作业八
极客时间架构实战营作业八
337 0
|
消息中间件 Java 中间件
极客时间架构实战营作业六
极客时间架构实战营作业六
374 0
|
资源调度 分布式计算 调度
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
|
容灾 网络协议
极客时间架构实战营模块 7 作业
极客时间架构实战营模块 7 作业
201 0
|
存储 缓存 负载均衡
极客时间架构实战营作业五
极客时间架构实战营作业五
347 0
|
5月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。