模块三作业
学生管理系统详细架构设计
前言
本文是学生管理系统详细架构设计文档,用于指导系统后续的开发、部署等工作。
词汇表
nginx: 负载均衡软件
MySql:开源的关系型数据库
1. 业务背景
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,处理效率也十分低下。为提高学生管理的管理水平,优化资源,特设计学生管理系统。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等功能设计的管理系统
2. 约束和限制
1.必须在 2021.12.31 号前完成
2.成本不能超过 20 万
3.数据库采用开源数据库
4.质量标准符合 ISO9001-2000
3. 总体架构
3.1 架构分析
数据库存储部分使用主备方式,保证高可用,避免数据丢失。
3.2 总体架构
1)数据库存储使用主备方式。
2)一台主 MySQL 和一台备 MySQL 进行数据复制。
3)正常情况下,主服务器对外提供消息写入和消息读取服务,备服务器不对外提供服务;
4)主服务器宕机的情况下,备服务器对外提供消息读取的服务。
4. 详细设计
4.1 核心功能
4.2 关键设计
1)数据存储可靠性
数据存储在 MySQL 中,有一主一备两台 MySQL 服务器,MySQL 服务器之间复制消息以保证消息存储高可用。如果主备间出现复制延迟,恰好此时 MySQL 主服务器宕机导致数据无法恢复,则部分消息会永久丢失,这种情况不做针对性设计,DBA 需要对主备间的复制延迟进行监控,当复制延迟超过 30 秒的时候需要及时告警并进行处理。
2)数据如何存储
设计课程、人员、权限等多张表,对应一个 MySQL 表。
4.3 设计规范
1)Web 服务使用 Spring Boot + JDBC 开发,使用 MVC 模式,基于 JDK 1.8
2)MySQL 使用 Innodb 存储引擎
3)字符集使用 UTF8
5. 质量设计
WEB 服务器使用单机模式部署。
6. 演进规划
1)一期完成所有系统的开发设计。
2)二期根据使用情况进行优化。
评论