写点什么

架构训练营 - 模块三

用户头像
Geek_9de3de
关注
发布于: 刚刚

前言

本文是学校学生信息管理系统详细架构涉及文档,用于指导学生管理系统后续的开发、测试和运维。

词汇表

1. 业务背景

系统主要应用于学校学生信息管理,总体任务是实现学生信息管理的系统化、规范化和自动化,其主要任务是管理学生相关信息,如学籍、课程、成绩、奖惩。



2. 约束和限制

1、        必须在 2021.12.31 号完成

2、        成本不能超过 100 万

3、        采用 java 技术栈

4、        不采用微服务架构

5、        数据库采用 MySQL

3. 总体架构

3.1 架构分析

3.1.1 高可用

对于学生系统来说,数据丢失后会影响学校的教学运作,且需要大量的人工重新录入,是非常严重的事情。

3.1.2 高性能

基于用户规模的预估,不需要高性能考虑。如果对选课有高并发场景的需要,可以通过排队等技术方案解决

3.2 总体架构

3.2.1 系统总体架构图



1)        采用 nginx 作为反向代理服务器,负责把请求转发到对应的子系统上。

2)        整个系统由学生子系统、课程子系统和权限子系统构成

3)        数据可采用主从架构,一台主 MySQL,和一台备 MySQL, 主备数据复制。

 

3.2.2 系统关系



4. 详细设计

4.1 核心功能

4.1.1 学生选课流程



4.2 关键设计

选课功能需要考虑高并发场景,这里采用队列的方式进行削峰,保证服务的稳定性以及数据的一致性。



4.3 设计规范

工程采用 spring Boot 开发

MySQL 使用 Innodb 存储引擎

Http 协议采用 Rest 风格

5. 质量设计

可测试性:通过管理后台提高测试效率

可维护性:略

可运维性:略

安全成本:略

 

6. 演进规划

6.1 一期(MVP 版本):实现基本的信息录入以及学生选课功能

6.2 二期:实现考试系统功能

用户头像

Geek_9de3de

关注

还未添加个人签名 2019.12.10 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营-模块三