1. 画出微信的业务架构图
如图:
2. “学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
- 要求可以通过公网域名访问;
- 要求至少 3 人合作完成;
- 能够支撑管理 1000 个学生;
- 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
- 大家都会
Java,但是有一个是PHP高手 - 大家经济条件一般
作业要求:
- 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
- 使用
PPT来画出你的备选架构方案,并说明方案的优缺点。 - 给出你选择的最终方案以及选择理由。
架构方案
最终选择方案一,理由如下:
- 可以满足业务需求。
- 根据简单原则,部署和开发都前期很简单。
- 毕业设计,暂时不用考虑之后的演进。
备选方案一
架构图如下:
架构:采用单体架构,一个应用包含所有功能。
语言:统一语言,采用 Java
缺点:横向扩展能力较弱,多人协同操作。
优点:架构简单,Nginx配置简单,部署简单,可快速开发。
备选方案二
架构图如下:
架构:采用微服务架构,每个服务提供单一具体服务。
语言:可同时采用 Java 和 PHP
缺点:服务之间调度变复杂,前端联调变复杂。
优点:横向扩展能力较强,服务与服务之间影响较弱,单个服务部署容易,单个服务可快速迭代。
