架构实战营 - 模块 1- 作业
作业 1:画出微信的业务架构图
作业 2:
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
1)要求可以通过公网域名访问;
2)要求至少 3 人合作完成;
3)能够支撑管理 1000 个学生;
4)答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
1)大家都会 Java,但是有一个是 PHP 高手
2)大家经济条件一般
作业要求:
1)对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
2)使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
3)给出你选择的最终方案以及选择理由。
需求分析:
1,学生管理系统可运行。
2,可以通过公网访问。
3,至少 3 个人合作。
4,能够支撑管理 1000 个学生。
5,目前有 3 个人,都会 java,但一个人是 PHP 高手。
6,经济条件一般。
根据需求判断
1,经济条件一般代表不可能购买大量服务器以及域名等,故推荐使用阿里云服务器,学生还有优惠,故解决了可运行,公网访问,经济条件一般这三个需求点。
2,团队一共 3 个人,满足至少 3 个人合作这一个需求点。
3,团队中 3 个人都会 java,一个人是 php 高手,那么考虑团队协作问题,技术栈选型 java。
4,能够支撑管理 1000 个学生。这个点其实有一点模糊,因为是要考虑是要支持 1000 个并发吗?还是只是单纯 1000 个学生能使用?
现提出备选方案:
最终方案选择:
1,如果仅是满足管理 1000 个学生,没有性能上的要求
选择方案一,理由如下:
1,实现简单、维护工作量小、服务器成本低。
2,需求对应用高可用没有要求,应用服务可以单点部署。
3,需求对高性能没有要求,满足管理 1000 个学生的需求。
4,数据库主备满足了数据的高可用。
2,如果是满足管理 1000 个学生,有性能上的要求
选择方案 5,理由如下:
1,根据需求分析,学生管理系统的瓶颈可能是在抢课时出现并发,系统无法支撑,故可以把课程管理系统独立出来。
2,方案 5 采用了应用集群与数据库主备,同时满足了应用高可用与数据高可用。
评论