架构实战营模块 1 作业
1. 画出微信的业务架构图
2. “学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
1 要求可以通过公网域名访问;
2 要求至少 3 人合作完成;
3 能够支撑管理 1000 个学生;
4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
1 大家都会 Java,但是有一个是 PHP 高手;
2 大家经济条件一般。
作业要求:
1 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
2 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。3 给出你选择的最终方案以及选择理由。
架构方案一
优点:
开发成本相对较低。
服务器使用少,资源使用的成本低。
易于部署,系统运维成本低。
有数据的备份,保证了数据安全性。
缺点:
后期扩展性相对较差。
架构方案二
优点:
系统拆分为多个子模块,并且可以独立部署。
部署两套,其中一套用作热备份,服务高可用。
各个子系统可以使用不同的技术栈。
缺点:
服务器资源使用较多,经济成本增加。
拆分为多个子系统会增加了系统之间的复杂度。
方案取舍
高性能:能够支撑管理 1000 人, 所以不需要考虑高性能。
高可用:同样不需要高可用。
可扩展:毕业设计不需要考虑扩展。
成本、安全:该厂架构需要较低的成本。
合适原则
大家都会 Java,虽有一个 PHP 高手但为团队协作降低沟通成本建议使用 Java 语言。
开发成本低。
系统运维成本低。
简单原则
系统不进行拆分部署维护简单。
不需要高性能高可用,但数据需要备份以防止丢失。
演化原则
毕业设计不需要考虑后续的演化。
最终综合考虑,选择方案一。
版权声明: 本文为 InfoQ 作者【星夜】的原创文章。
原文链接:【http://xie.infoq.cn/article/4bf3fd4f7a08c5293e9afb985】。文章转载请联系作者。
评论