架构实战训练营模块 1 作业
微信的业务架构图(画的比较简单)
我是从微信的使用者以及使用者和业务场景关系进行梳理划分
用户层:pc 端、手机端
应用层:用户、权益、联络、朋友圈、短视频、其他(还有其他为整理的服务模块)
“学生管理系统”毕设架构设计
详情
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
① 要求可以通过公网域名访问;
② 要求至少 3 人合作完成;
③ 能够支撑管理 1000 个学生;
④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
① 大家都会 Java,但是有一个是 PHP 高手;
② 大家经济条件一般。
作业要求:
① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
③ 给出你选择的最终方案以及选择理由
业务模块架构
方案一(使用云服务)
所有模块(前后端)部署在一个 web 应用上,考虑其高可用、可扩展,部署多个应用,使用 redis 做 session 存储
方案二(使用云服务)
1、根据模块划分子系统应用,前后端分离部署,使用 redis 做 session 存储
2、web 模块部署两个主要是其保证高可用
3、后端各子应用可以分别部署多个,保证其高性能、高可用、可扩展
方案选择
从题目中的业务需要以及现有资源、成本分析, 后端选用 java 作为开发语言,数据库选择题目中没有要求,目前我的工作中用的比较多的是 postgresql,所以选择 postgresql
① 大家都会 Java,但是有一个是 PHP 高手;
② 大家经济条件一般。
结合面向复杂度、以及架构三原则中的合适、简单、演进原则,选择方案一
评论