一.业务诉求

     对于各个学校的考试试卷进行存储,完成录入、读取和写入的需求。

二.千万级学生管理系统数据估计情况

     在校学生考试结果存储: 2.4T离校学生考试结果存储:每年 250 万,存储量为 0.6T试卷请求:5 万 QPS提交试卷:1700TPS

三.redis 数据类型选型

     考试的试卷存储量相对较少,但是考试时读取并发量较高学生的试题答案是存储的核心诉求,存储数据量较大,且每年累加试题答案在业务上,只有写入,没有更新等操作主要选型为 Hash,采用 String 也可Hash 和 String 的读取复杂度都为 O(1),适合当前这种读取性能要求较高的场景Hash 和 String 在这里的区别就是,Hash 是个集合的类型,是个复合结构,最上层的 key 可以存储学校 ID,或是试卷 ID,也可是专业的 ID。主要体现向下聚合的逻辑。String 因为就是最简单的 KV 存储,所以 KEY 值要采用专业 ID+试题序号这种符合的写法。以便存储。其实抽象出来看,试卷本身就是序号+题目的逻辑。答案就是序号+答案的逻辑,更上层的组织维度则包含,专业,班级,年级,系,学校等。为了不让 redis 本身嵌入过多层,更上层的维度可以专门用一个 redis 的结构做映射。

四.读写流程

    1.先出题,存储到 mysql 当中,题目整体的量级较小,选型 mysql 较为合适,普通的主备架构即可2.再同步,mysql 的试卷同步到 redis 集群当中,增加读取性能3.限时间,redis 更多的是当缓存进行使用,所以原则就是,在需要的时间,占用内存,发挥读写价值。根据考试的时间安排,做好 redis 的存储时间4.读试卷,考试过程中,可以访问不同的 redis 节点5.存答案,学生的试题答案存到 redis 当中。以保证比较高的 TPS6.落数据,最终把 redis 的试题答案,存入到 Hbase 当中,选型 Hbase 主要考虑到,试题存储量较大,且每年递增

五.计算 Redis sentinel 集群的服务器数量和性能

    考试时,试题的读取为 5 万 QPS,一般单台 redis 的性能为 5W-10W(QPS)之间Redis sentinel 模式为了保证高可用,一般最少为 3 节点(奇数节点防止脑裂)采用经典的三节点即可,因为 sentinel 耗费的资源不多,工作为监控,选主,通知。可以把 sentinel 和本身的三节点部署一起即可。需要 3 台机器。读写性能 15 万 QPS+主流配置的服务器,带宽 15M+,单台 redis,加上做一些优化,基本可以 hold 住。引入 redis sentinel 一个是为了增加性能,底子上也是 master-slave 的模式。另一个原因就是为了高可用。

架构训练营作业4-千万级学生管理系统的考试试卷存储方案相关推荐

  1. 架构训练营作业三-外包学生管理系统的架构文档

    1. 业务背景 随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大.不仅花费大量的教师资源, 处理效率也十分低下. 为解决学生管理问题,同时尽可能降低管理成本,从学校管理现状出发,从而 ...

  2. 计算机网络应用答题卡,2013-2014学年第2学期11级计算机网络技术毕业考试试卷

    2013-2014学年第2学期11级<计算机网络技术>课程 毕业考试试卷 得分: 一.单项选择题:(每题1分,共30分,答案必须写在后面的选择题答题卡内,否则不得分) 1.计算机网络可以按 ...

  3. 2023全国特种设备作业人员(N1)叉车司机模拟考试试卷一[安考星]

    该模拟试题来源于安考星公众号 1.离合器踏板与制动器踏板均应该有自由行程. 正确答案:正确 2.气压制动时,制动踏板要缓慢下压,不是紧急情况不要压到底. 正确答案:正确 3.作业过程中,允许起升重量与 ...

  4. 2023全国特种设备作业人员(Q1)起重指挥模拟考试试卷一[安考星]

    该模拟试题来源于安考星公众号 1.斜吊时,物体离地后会出现晃动.碰撞.冲击等情况,危险性很大. 正确答案:正确 2.物体的绑扎要点是安全牢固,吊点.吊索不能移动.走位. 正确答案:正确 3.遵守劳动纪 ...

  5. 教育培训机构学生管理系统

    摘  要 计算机网络如果结合使用信息管理系统,能够提高管理员管理的效率,改善服务质量.优秀的教育培训机构学生管理系统能够更有效管理教育培训机构学生信息业务规范,帮助管理者更加有效管理教育培训机构学生信 ...

  6. 千万级支付对账系统怎么玩(上篇)?

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  7. c语言数据结构_链表的应用——学生管理系统

    一个比较完整的学生管理系统,采用文件存储. 先上图片 源码: #include <stdio.h> #include <stdlib.h> #include <strin ...

  8. 浅谈千万级PV/IP规模高性能高并发网站架构

    原创作者:老男孩linux实战运维培训机构 老男孩 QQ:31333741    说明:几个月前老男孩发过一次类似的文章,本次为了参加一个朋友邀请的活动,稍微完善了一下,欢迎各位同仁一起交流网站架构技 ...

  9. 又到618,.NET 千万级秒杀架构到底有多牛

    年年618,次次高并发. 其实这不仅仅是对618下各大电商平台的考验,更是如今每一个互联网应用上线后,会遇到的一个严峻的考验,渡得过 965,渡不过 996. 在这个极速膨胀的互联网世界里, .NET ...

最新文章

  1. Apache+php+tomcat+mysql整合手册
  2. 《Flex 第一步》
  3. 拓扑学+计算机,吴国平: 拓扑学到底有多重要? 在数学中占据多高的地位?
  4. 使用Java流和In-JVM-Memory的超低延迟查询
  5. java 统计数字个数_统计数字问题(Java)
  6. SMTP 错误代码大全
  7. spring中使用scala的maven打包配置
  8. adas硬件_ADAS系统功能安全设计/SOTIF需求和测试实例/软件安全架构/硬件安全设计......
  9. BOOST1.54简化编译
  10. C++Debug Assertion Failed!到底出错在哪里?
  11. 让Microsoft Office2010 新建 Microsoft Office 97-2003 文档
  12. cc9.3 indesign_InDesign CC 2019 14.0.3中文版(ID CC 2019 mac/win)
  13. 西安交通大学电子图书站点被黑
  14. 什么是技术债,为什么要还技术债?
  15. 四川大学计算机系统 赵树龙,王俊峰
  16. HearthBuddy 召唤随从的问题
  17. HBuilder 设置 主题 背景颜色
  18. 华东理工大学的计算机系,华东理工大学计算机系介绍
  19. 2018美团点评校招-K的倍数
  20. 维基百科图片无法正常显示

热门文章

  1. idea上传代码到gitee出现的问题及解决办法
  2. 百度地图自定义Marker
  3. TIS-100攻略 Segment 1~3 解法与DEBUG彩蛋
  4. P2P网络编程-3-案例实践:PubSub
  5. 百度文库不能下载解决方案
  6. 猫和路由器和交换机有什么区别
  7. 京华科讯软件PK VMware:国产虚拟化也精彩
  8. 基于51单片机驱动A4988实现步进电机逆时针转动
  9. C程序设计书本例题 求两整数之间最大值
  10. 软件测试|最全的Python for循环和while循环使用介绍