微信业务架构图 & 学生管理系统设计
1.微信业务架构
2.学生管理系统设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
① 要求可以通过公网域名访问;
② 要求至少 3 人合作完成;
③ 能够支撑管理 1000 个学生;
④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
① 大家都会 Java,但是有一个是 PHP 高手;
② 大家经济条件一般。
作业要求:
① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
③ 给出你选择的最终方案以及选择理由。
(1)备选方案一
优点:
从成本上来说,共需 3 台服务器,经济和维护成本底。
数据库足够支撑管理 1000 个学生信息。
缺点:
web 服务器是单节点的,有宕机的风险。
(2)备选方案二
优点:
通过添加 nginx 反向代理和增加一台 web 服务器,一定程度上避免了单体容易宕机的风险。
可以支撑更多了请求量。
缺点:
引入了反向代理和增加一台 web 服务器,一定程度上增加了系统的复杂度,同时也增加了经济和维护成本。
(3)备选方案三
优点:
系统拆分为多个子模块,并且可以独立部署,这样做,子系统故障,不会影响整个系统的运行。
各个子系统可以使用不同的开发语言,可以团队中 PHP 高手得以施展。
系统的可扩展性也得到了提高。
缺点:
首先方案三在方案二的基础上又增加了一台服务器,经济成本增加。
其次,各个子系统,其实还是单体系统,仍然存储单体故障的问题。不能保证高可用。
最后,虽然拆分为多个子系统,但同时也增加了子系统之间的复杂度。
综述上面三种备选方案,较合理选择为第二种方案,原因如下:
方案一虽然经济成本是最底的,但是 ,单体系统宕机 的风险更高。方案三经济成本和维护成本最高,复杂度也很高
而且,题目中要求,“不推荐太简单和太复杂的方案” 所以综合最合理选择为方案二,其它方案为备选方案。
评论