模块一作业
1、微信业务架构图
2、“学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
a、要求可以通过公网域名访问
b、要求至少 3 人合作完成
c、能够支撑 1000 个学生
d、答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
a、大家都会 Java,但是一个是 PHP 高手
b、大家经济条件一般
作业要求:
a、对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案
b、使用 PPT 来画出你的备选架构方案,并说明方案的优缺点
c、给出你选择的最终方案以及选择理由
设计:
面向复杂度架构设计-判断复杂度
系统不存在高性能、高可用的问题,但要保证数据不能全部丢失,需要数据高可用
支持公网域名访问
业务有一定复杂度,要支持可扩展
面向复杂度架构设计-备选架构
备选方案 1:
优点:每个人负责自己模块的开发,模块之前开发时互不影响
缺点:需要分开部署,部署维护较复杂
备选方案 2:
优点:系统比较简单,按照模块划分,使用单体项目实现,部署维护简单
缺点:只有一台服务器,系统非高可用
备选方案 3:
优点:系统比较简单,按照模块划分,使用单体项目实现,部署维护简单
缺点:只有一台服务器,系统非高可用
最终方案选择及理由
最终选择备选架构 2,选择思路如下:
合适原则:
a、符合团队技术水平,大家都会 java,这个是共性
b、选择单体开发,简单,开发成本低
c、系统维护成本低
简单原则:
a、不进行系统拆分,部署维护简单
b、没用微服务,无需微服务基础设施
演化原则:
a、一次性交付,无需考虑太多后期演化
b、学校的学生数量不会发生很大变化,系统架构后续不会变化太大
评论