外包学生管理系统
前言
本文是游戏业务线消息队列中间件详细架构设计文档,用于指导消息队列后续的开发、测试和运维
1. 业务背景
随着学校招生,分校区的设立,新立学科的增加学生大规模的增加。
性能问题:原来的系统随着大规模的人数增加变得很卡,加载速度慢,已经影响到了工作。
效率问题:本来一分钟的事要几分钟才能干完,影响到了工作。
耦合问题:根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改 不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其 主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等 功能设计的管理系统。
2. 约束和限制
1.一个月要完成
2.成本不能超过 5 万
3.数据库采用 MySQL
4.质量标准符合 ISO9001-XXXX 标准
3. 总体架构
3.1 总体架构
1)一台主 MySQL 和一台备 MySQL,主备数据复制,数据同步。
2)正常情况下,主服务器对外提供消息写入和消息读取服务,备服务器不对外提供服务;主服务器宕机的情况下,备服务器对外提供消息读取的服务。
3)客户端采取轮询的策略写入和读取消息。
4. 详细设计
使用 docker 部署微服务来进行管理
4.1 核心功能
人员管理:使用人员的权限,根据不同的人员角色进行权限限制;
课程管理:课程管理中涉及的选课和课程维护管理功能;
考试管理:需考虑考试的试卷录入,成绩评判,成绩组成,最终排名等各种信息管理。
4.2 关键设计
1)数据存储可靠性
采用主备的数据库架构,可以在很大程度上保证数据的可靠性。
在主备节点复制中,主节点发生宕机,并出现数据损坏的情况,可不做考虑,概率极小,而且实际的业务操作,会有纸质的逻辑可以对照。
5. 质量设计
伸缩性:每个子系统均拆开,部署在不同的服务器上。后续如果有性能要求,对应的节点增加机器即可,数据库可采用一主多从等方式。
易用性:友好的操作界面,可读的操作手册。
协作性:各个模块可同时开工,子系统对接的部分做好 mock 数据。
安全性:核心数据脱敏,业务逻辑做好防注入等安全校验。
评论