架构实战营模块 1 作业
1 画出微信的业务架构图
2 “学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
1 要求可以通过公网域名访问;
2 要求至少 3 人合作完成;
3 能够支撑管理 1000 个学生;
4 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
1 大家都会 Java,但是有一个是 PHP 高手;
2 大家经济条件一般。
作业要求:
1 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
2 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
3 给出你选择的最终方案以及选择理由。
架构图一:
业务服务器、MySQL 主在同一台机器上
MySQL 从在另一台服务器上
架构图二:
分析:
1 大家都会 Java,为了快速合作完成系统的开发则选择通过 Java 进行系统开发
2 大家经济条件一般,则在系统运行期间服务器越少越好,考虑租赁一段时间的云服务器
3 需要支撑的用户仅 1000 人且不会出现剧增的情况,数据写少读多、不能全部都丢失,则通过 MSQL 主从存储数据
比较:
1 架构图一
优点:比较简单、占用服务器资源少、满足 1000 人使用的要求
缺点:写少读多的情况下仍需不停的访问数据库,数据库压力大
2 架构图二
优点:nginx 反向代理进行了负载均衡;redis 缓存减少了数据库的压力;
缺点:实现较一更复杂且在满足要求的情况下没有太大的必要
考虑到架构的适合、简单、演进原则采用架构图一的方案
评论