写点什么

架构训练营 - 第一周作业

用户头像
焦龙
关注
发布于: 刚刚

1. 画出微信的业务架构图



2. “学生管理系统”毕业设计架构

假设学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院毕设的具体要求如下:

1. 要求可以通过公网访问域名;

2. 要求至少 3 个人合作完成;

3. 能够支撑管理 1000 个学生

4. 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。

你找了 2 个好朋友一起做这个项目,你们的基本情况如下:

1. 大家都会 java,但是有一个 PHP 高手;

2. 大家经济条件一般。

作业要求:

1. 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案;

2. 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点;

3. 给出你选择的最终方案及理由


根据对需求可以将学生管理系统总结为如下的功能:

  • 学生管理

  • 课程管理

  • 权限管理

根据这些功能是放到一个模块,还是放到多个模块,设计为如下的架构:

架构 1 一套服务处理所有请求

这个架构中,每个业务服务都是等价的,都可以完成所有的请求。


架构 2: 划分为不同的子系统

这个架构中,将学生管理系统拆分为不同的子系统,并且分别部署。


总结

由于系统是多个人开发,为了充分利用不同同学的优势,采用方案2的架构设计。因为通过将功能拆分为不同的子系统,这些子系统之间相互独立,可以使用不同的语言进行开发。同时可以将实现复杂的系统分配给编程能力较好的同学。


实际部署架构

由于学生的经济条件一般,并且只是应对毕业答辩,所以可以通过如下的方式实现题目要求:

  • 申请免费域名

  • 申请花生壳代理服务,并使用上一步的申请的域名指向。

  • 在学生的电脑上搭建多个 docker 服务,模拟线上架构

其部署架构如下图所示:


用户头像

焦龙

关注

还未添加个人签名 2017.12.20 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营-第一周作业