写点什么

模块三作业

作者:lxz
  • 2021 年 11 月 14 日
  • 本文字数:788 字

    阅读完需:约 3 分钟

学生管理系统详细架构设计

前言

本文是学生管理系统详细架构设计文档,用于指导系统后续的开发、部署等工作。

词汇表

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)二期根据使用情况进行优化。

 

用户头像

lxz

关注

还未添加个人签名 2019.02.11 加入

还未添加个人简介

评论

发布
暂无评论
模块三作业