模块一 - 学生管理系统架构设计
微信的业务架构图
学生管理系统-架构设计
复杂度分析
架构复杂度分析:
高可用(重要):这类管理系统对于数据不丢失还是有要求的,不能系统崩溃了就找不回来了
成本(重要):团队的经济条件都一般,能省点就省点吧
高性能(不重要):学校学生管理系统,性能要求不高,而且 1000 人使用的系统,单体架构就能够承载,而且学生管理的业务线,较少业务线是并发高的(集中选课);
可扩展(不重要):毕设项目,基本不用考虑扩展性了
安全(不重要):这个基本也没啥要求了吧
备选方案
方案一
架构图(DNS 公网解析、单体服务、分模块开发)
优点:
沟通简单,基于 JAVA 技术栈,后期好维护
部署简单
数据高可用
成本较低
缺点:
业务服务器存在单点风险
方案二
架构图(多子系统开发)
优点:
技术栈自由:子系统负责人可自由选择技术栈
服务隔离:子系统间服务隔离,减少单点故障风险
数据高可用
缺点:
团队技术栈不统一,可能导致后期出现问题,只能依赖某个人
架构选择
最终方案:方案一
选择原因:
合适原则:团队都会 JAVA、经济条件都一般,方案一更合适些
简单原则:方案一更简单些
演化原则:毕设项目基本不用考虑演化了,能通过答辩能用就行
评论