架构实战营 - 模块 1- 作业
1. 画出微信的业务架构图
2. “学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
要求可以通过公网域名访问;
要求至少 3 人合作完成;
能够支撑管理 1000 个学生;
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
大家都会 Java,但是有一个是 PHP 高手
大家经济条件一般
作业要求:
对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
给出你选择的最终方案以及选择理由。
复杂度分析:
1、团队成员能力:具有 JAVA 开发能力,有 1 人是 PHP 高手,因此,能够快速搭建 web 服务器
2、成本考虑:大家经济一般,公网域名在公有云平台申购即可(如阿里云“域名交易”);技术组件选择开源组件。
3、高性能:仅需要支持 1000 个学生,无高性能要求。
4、高可用:需要支持公网域名访问,如果宕机,手工恢复即可。
5、可扩展:毕设,完成后不会修改,此项要求低。
方案 1
优点:1、成本低(1 台服务器)2、开发周期短
缺点:1、数据库与业务在一台服务器,数据需要手动备份,可用性较低
方案 2
优点:1、数据库主备;2、业务与数据库分离,相比方案 1 可用性更高;
缺点:1、需要多台服务器,成本相比方案 1 高些;2、开发周期相比方案 1 更长些,需要增加数据库主备功能的投入
优选方案:选择方案 1。
选择理由:
1、考虑仅需要支持 1000 个学生管理,不需要高性能、高可用、可扩展。
2、成本也最低(大家经济条件一般)
版权声明: 本文为 InfoQ 作者【莫问】的原创文章。
原文链接:【http://xie.infoq.cn/article/7ac387d4f4f11b38a7f6b4265】。未经作者许可,禁止转载。
评论