架构实战营 - 模块 1- 微信业务架构 & 学生管理系统方案
微信的业务架构
微信业务架构包括:社交业务,第三方业务,支付业务 和 用户管理部分。
学生管理系统架构设计
一、需求描述
学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
要求可以通过公网域名访问;
要求至少 3 人合作完成;
能够支撑管理 1000 个学生;
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
大家都会 Java,但是有一个是 PHP 高手
大家经济条件一般
作业要求:
对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
给出你选择的最终方案以及选择理由。
二、复杂度分析
1)合适原则
1.可以采用云服务器的方式,。
系统要求通过公网域名访问,统目的是为了毕业设计,产品生命周期很短,学生经济能力也有限,所以采用租用云服务器的方式比较合适。
2.项目组是 3 个成员,为了控制系统的复杂度,在此不对系统拆分,将采用单体应用。
2)简单原则
该系统的用户量为 1000+用户,初步定位是学校内部使用,对系统的可用性、高性能、可扩展性没有太高的要求。
3) 演化原则
应用应该具备可伸缩性,在类似选课等压力大的情况下,满足可伸缩的业务场景。
三、备选方案
方案一:DNS+单体应用+单体数据库
方案二:DNS+Nginx+单体应用+单体数据库
方案三:DNS+Nginx+应用集群+Redis+数据库主从
根据架构设计三原则考量,选择“方案二”,因为它兼顾了系统成本和可伸缩性。
方案一:
方案二:
方案三:
评论