架构训练营模块三作业
1、业务背景
随着学校的规模的不断扩大,学生数量的增加,需要处理的信息也日趋增大。不仅花费大量的教师资源,
处理效率也十分低下。
为提高学生管理的管理水平,优化资源,尽可能降低管理成本成为学生管理的新课题,学生管理系统是从
学生管理现状出发,根据学生管理的新要求进行开发设计的,它需要解决学生信息管理数据信息量大修改
不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。
2、约束和限制
无
3、总体架构
3.1 架构分析
3.1.1 高可用
属于内部管理系统,对应用故障容忍度相对高。但要保证数据高可用不丢失,故采用存储主备方案。
3.1.2 高性能
学校目前用户数在千量级,后续用户增长可控,不会有爆发性增长。对性能要求相对不高。
3.1.3 可扩展
业务需求较为复杂,按业务子域拆分为服务模块,方便后续扩展。
3.1.4 架构质量
考虑学校投入成本要求相对低,非密保项目安全性要求不高。
3.2 总体架构
各子系统的 Role & Relation 设计
java 开发,springboot 框架
系统间交互采用 http 连接(restapi),采用 json 传递数据
mysql 存储的 Role & Relation 设计
直接用 MySQL 的主从复制来实现数据复制。
4、详细设计
4.1、核心功能
4.1.1、选课
类似于秒杀场景,读多写少,采用缓存限流控制库存。
安全:考虑到学生选好课的硬性需求,做好页面缓存和防重提交。
评论