训练营作业 -Module_1
1. 微信架构分析
a.思维导图分析
b. 业务架构线框图
2.“学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
① 要求可以通过公网域名访问;
② 要求至少 3 人合作完成;
③ 能够支撑管理 1000 个学生;
④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
① 大家都会 Java,但是有一个是 PHP 高手;
② 大家经济条件一般。
作业要求:
① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
③ 给出你选择的最终方案以及选择理由。
业务说明:
学生管理
课程管理
考试管理
权限管理
分析:
公网域名访问:可部署云服务器(阿里、腾讯、AWS 等都有学生优惠)
3 人完成:三人都需要合适的分工(开发、测试、部署)
管理 1000 个学生:量级较小,业务简单
都会 Java,其中一人是 PHP 高手:可以考虑基于 Java 或 PHP 的技术栈
经济条件一般:买不了多台服务器
a. 备选方案一:Lravel+DCatAdmin 单体服务器架构
方案说明:单体架构重点是技术栈的选择
性能:Octane+Swoole + Redis
安全:Laravel 内置身份验证和 session 服务,更有成熟套件可用。定时任务每日增备,每周全备,可根据学期初、中、末,不同阶段设计不同备份策略。
成本:单台服务器系统运维成本低;成熟开发套件,开发成本低;拓展团队技能和积累,高手可锻炼项目整体协调沟通能力,另外两人可以学习新的开发技能。
分工:PHP 高手作为核心开发,搭建框架完成基础配置及考试权限模块开发,两人辅助开发,一人负责学生端业务,另一人负责课程模块业务。最后交叉测试,高手部署。
b. 备选方案二:Spring 全家桶单体服务架构
方案说明:与方案一主要为开发语言差别,架构上增加了一个备份数据库
两个方案基本都符合合适、简单原则,至于演化基于当前场景分析,暂不考虑。
我选方案一,理由很简单:有高手的团队更容易走向成功。
版权声明: 本文为 InfoQ 作者【Jadedev】的原创文章。
原文链接:【http://xie.infoq.cn/article/ee6f185f25feb784d6df528f0】。文章转载请联系作者。
评论