【架构实战营 1 期】模块一作业

作业一:微信业务架构图
1. 架构图

作业二:“学生管理系统”毕设架构设计
1. 架构设计思路
系统需求
判断复杂度
备选架构
方案取舍
2. 系统需求
学生管理
课程管理
考试管理
权限管理
3. 复杂度判断
学生管理系统支持 1000 名学生管理,不需要太高的性能
数据要求不全部丢失,能够人工修复
业务要求不能太简单或太复杂
毕业设计学生经济条件一般,成本有限
没有很高的安全要求
4. 架构备选方案
方案一
架构图

方案二
架构图

方案三
架构图

方案四
架构图

5. 最终方案
方案
最终方案选择方案二
理由
方案一
合适原则
符合团队技术水平和积累
开发成本虽然低,但多台服务器加上 Nginx 服务器,或许超出学生的经济能力
系统整体运维成本低
简单原则
不进行系统拆分,部署维护简单
没用微服务,无需微服务基础设施
演化原则
一次性交付,毕业设计结束后即完成,无需考虑后期演化
学生数量一次性固定
方案二
合适原则
符合团队技术水平和积累
开发成本低,只需在毕设期间租用 DNS 服务器即可,成本低,在经济承受范围,且 2 台业务服务器降低预算成本
系统运维成本低
简单原则
不进行系统拆分,部署维护简单
没用微服务,无需微服务基础设施
演化原则
一次性交付,毕业设计结束后即完成,无需考虑后期演化
学生数量一次性固定
方案三
合适原则
符合团队技术水平和积累
开发成本虽然低,但多台服务器加上 Nginx 服务器,或许超出学生的经济能力
系统运维成本低
简单原则
系统拆分,虽利于开发,但系统间交互,增加了复杂度,且 php 与 java 混合开发,也一定程度上增加了开发过程中的复杂度
演化原则
一次性交付,毕业设计结束后即完成,无需考虑后期演化
学生数量一次性固定
方案四
合适原则
符合团队技术水平和积累
开发成本低,只需在毕设期间租用 DNS 服务器即可,成本低,在经济承受范围,且 1 台业务服务器和 1 台数据库服务器降低预算成本,且满足了“真正可运行”最低标准
虽然满足了“真正可运行”,但是设计过于简单,不符合毕业设计的要求
系统运维成本低
简单原则
不进行系统拆分,部署维护简单
单台服务器,不考虑高可用,大大降低系统复杂度
演化原则
一次性交付,毕业设计结束后即完成,无需考虑后期演化
学生数量一次性固定
版权声明: 本文为 InfoQ 作者【Abner S.】的原创文章。
原文链接:【http://xie.infoq.cn/article/6844fe914845d73c16a3e9bb9】。未经作者许可,禁止转载。
评论