微信业务架构图 & 学生管理系统架构设计
一、微信业务架构图
二、 需求分析
2.1 需求描述
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
● 要求可以通过公网域名访问;
● 要求至少 3 人合作完成;
● 能够支撑管理 1000 个学生;
● 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。
2.2 资源条件
● 人员:共计三人,都会 java,其中有一个是 PHP 高手
● 团队经济条件一般
2.3 需求分析
要求可以通过公网域名访问--->使用学校服务器,和公网 IP 资源;或者直接上云
至少三人合作完成--->人员齐备
能够支撑管理 1000 个学生-->数据和流量都不大,没有对系统复杂度有太高需求
数据安全性:主要是数据信息不能丢,选择用 MySQL 主备
技术选型--->虽然有一个 PHP 高手,但项目不大,大家统一使用 JAVA 更好统一管理、对接
三、 架构设计
3.1 备选架构 1
3.2 备选架构 2
3.3 方案描述及选优
两个方案都可选择使用学校环境和上云,所以可以组合成四个方案,首先要根据实际情况跟校方沟通、决定是否上云:
● 如果学校有多余资源,且有相关专业维护人员,建议校方选择学校环境
● 如果不具备上面条件,建议校方选择上云
接下来确定使用哪种架构,下面分几方面进行对比:
● 性能对比:项目比较简单,数据量和访问量都不大,两种架构都能满足需求
● 可用性对比:根据项目特点,系统故障一段时间对系统影响不大,但架构二具备某一个节点掉线,系统依然可以正常进行的能力
● 成本对比:架构 1 每种子系统部署在一个服务器,如果要缩减服务器数量,需要在同一个节点部署多个子系统;架构二可以直接缩减一个节点,剩余两个依然具备业务功能,并保留高可用性。
● 开发效率:架构 1 可以三个人分别开发,互不影响,可以提高开发效率;但该项目比较简单,不分子系统,整体开发的难度也可以接受
如上,两种架构优缺点描述如下表
3.4 最终选择
最终选择架构 2,是否上云,根据后续沟通决定
评论