【架构实战营】模块三作业
外包学生管理系统架构设计
1. 业务背景
2. 约束和限制
3. 总体架构
3.1 架构分析
3.1.1 高可用
3.1.2 高性能
3.1.3 可扩展
3.2 总体架构

数据库使用MySQL主备方案,保证数据的安全,当主库宕机或损坏,切换到备机继续运行 平台拆分为“学生子系统”、“课程子系统”、“权限子系统”三个模块,降低因为一台服务器故障对其他功能造成的影响 使用Nginx将请求分发到相应的服务器 后续扩展功能只需要在相应的模块中添加补充或者新增模块
4. 详细设计
4.1 核心功能
4.1.1 学生课程管理

4.1.2 教师课程管理

4.2 关键设计
数据可用性
业务拆分
Ngnix反向代理
4.3 设计规范
业务模块开发使用Spring Boot 2.5 + Mybatis 3.3 安全框架使用Spring Security JDK采用Open JDK 1.8+ MySQL 使用 InnoDB存储引擎 数据传输使用json格式
5. 质量设计
可测试性 提供可测试API
可维护性 完善的部署文档
可观测性 管理后台具备系统性能监测功能
记录操作记录可追溯
成本 将项目成本控制在25万以下
6. 演进规划
项目一期 在项目截止日期前,完成“学生子系统”、“课程子系统”、“权限子系统”功能的开发,并保证能够正常运行 项目二期 根据校方使用提出的反馈进行修改优化 完善修复项目开发中出现的问题 建立服务监测模块