架构实战营 - 模块 3 - 外包学生管理系统架构文档
作业要求
1. 基于模块 1 第 5 课 P15 页的外包学生管理系统备选架构 1,写出完整的架构设计文档;
2. 注意不是备选架构文档,而是最终落地的详细架构设计文档;
3. 无需考虑数据库表设计,因为表设计是方案设计阶段做的,不是架构设计阶段做的;
提示
1. 架构设计文档是完整的文档(Word 或者语雀文档之类的都可以),而不是 PPT;
2. 架构文档涵盖的内容请参考模块 3 第 4 课,细化架构设计参考模块 3 第 6 课;
3. 外包学生管理系统的业务请参考模块 1 第 5 课的课件;
4. 架构文档模板可以参考:架构实战营详细架构设计文档模板
前言
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源, 处理效率也十分低下。
为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从 学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改 不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
因此学生信息管理系统可以通过系统规范化地管理、科学性统计和快速查询、修改、增加、删除等,提高 信息的准确度以及日常管理的工作效率。
本系统主要是应用于学生各类信息的管理,总体任务是实现学生信息关系的系统化、规范化、自动化,其 主要任务是统计学生各类信息进行日常管理,如查询、修改、增加、删除、以及学生选课、成绩的查询等 功能设计的管理系统。
词汇表
1. 业务背景
2. 约束和限制
尽可能降低成本,具体来说尽可能减少服务器的数量。
学生及教职工人数共 5000 人
尽可能持续提供服务,尽可能降低服务中断的风险。
极端情况下可以丢失少量的数据,不能丢失大量数据,降低数据补录的成本。
3. 总体架构
3.1 架构分析
3.1.1 高可用
需要保证基本的可用性,保障学生和老师的正常使用。
不需要太高的可用性,极端情况下服务中断、停机维护是可以接受的。
3.1.2 高性能
目标服务人数 5000 人,预估峰值 QPS、TPS 均较低。
不需要考虑较高的性能。
3.1.3 一致性
保证正常情况下数据的一致性,保障师生的正常使用。
极端情况下可以容忍较低程度的数据不一致,不可丢失较多数据,降低数据补录的成本。
综合看来:
不需要较高的性能。
正常情况下需要保证服务的可用性、数据的一致性。
极端情况下服务可以中断,可以丢失少量数据。
3.2 总体架构
Nginx 提供静态网页服务。
Nginx 将远端服务请求代理至后端服务子系统。
数据库采用 MySQL 主备架构,主库提供 CRUD 功能,备库用于主库的实时备份。
三个服务子系统共享一套 MySQL 服务。
三个服务子系统部署在一台服务器中,Nginx、MySQL 主库、MySQL 备库各部署一台服务器,共需要 4 台服务器。
4. 详细设计
4.1 核心功能
4.2 关键设计
4.3 设计规范
5. 质量设计
6. 演进规划
版权声明: 本文为 InfoQ 作者【雪中亮】的原创文章。
原文链接:【http://xie.infoq.cn/article/1a13c3f47923c1f681496583b】。未经作者许可,禁止转载。
评论