写点什么

架构实战训练营 - 模块一课后作业

用户头像
Johnny
关注
发布于: 2021 年 04 月 05 日

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


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

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下: 1)要求可以通过公网域名访问;2)要求至少 3 人合作完成;3)能够支撑管理 1000 个学生; 4)答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案 

你找了 2 个好朋友一起来做这个项目,你们的基本情况如下: 1)大家都会 Java,但是有一个是 PHP 高手 2)大家经济条件一般 

作业要求: 1)对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。 2)使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。 3)给出你选择的最终方案以及选择理由。 


1、判断复杂度


  • 安全性:要求可以通过公网域名访问,安全性是必须考虑的,如 Https 访问。

  • 有一定的并发:能够支撑管理 1000 个学生,有没有可能有选课模块啥的,会有一定的并发。


2、方案备选


考虑题目中提到大家经济条件一般,肯定不能像企业里搞那种微服务架构(太复杂)直接排除。

关于技术栈:大家都会 Java,可以使用 Java+tomcat,通过 Nginx 反向代理的方案。

2.1 备选方案 1:单体架构


2.2 备选方案 2:简单集群架构


3、方案的取舍

最终方案选择:备选方案 2。

理由:

  • 1、关于成本,购买云服务学生还是可以消费的起的。

  • 2、学生管理系统一般不需要演化原则,但是方案 2 不算太复杂,也不像方案 1 那么简单。方案 2 基本上一步到位了。

  • 3、学生管理系统可能还是会有一定的并发(同一时间选课啥的),方案 1 系统比较脆弱,容易挂。

  • 4、学生管理系统对数据的可用性有一定的要求,单体系统,如果一不小心删掉了就不好了,还是要用专业的云数据库单独维护好,有一定备份机制保障。


发布于: 2021 年 04 月 05 日阅读数: 32
用户头像

Johnny

关注

种一棵树最好的时间是十年前,其次是现在。 2018.05.05 加入

关注微服务、架构等

评论

发布
暂无评论
架构实战训练营-模块一课后作业