写点什么

架构实战营 - 微信业务架构图 & “学生管理系统”毕设架构设计

作者:小地瓜
  • 2022-12-05
    北京
  • 本文字数:958 字

    阅读完需:约 3 分钟

1. 画出微信的业务架构图。


2. “学生管理系统”毕设架构设计

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

① 要求可以通过公网域名访问;

② 要求至少 3 人合作完成;

③ 能够支撑管理 1000 个学生;

④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。


你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:

① 大家都会 Java,但是有一个是 PHP 高手;

② 大家经济条件一般。


作业要求:

① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。

② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。

③ 给出你选择的最终方案以及选择理由。


  • 需求分析

【业务需求】

与外包学生管理系统一样


【系统需求】

  1. 可以通过公网域名访问

  2. 能够支撑管理 1000 个学生

  3. 复杂度应该适中


【资源要求】

  1. 因为项目组的经济条件一般,所以资源较为匮乏


  • 判断复杂度

【高性能】因为整体只有 1000 个学生使用,整体用户量较少,不需要考虑高性能要求。

【高可用】毕设要求做真正可运行的学生管理系统,整体对高可用没有过多的要求。

【可扩展】由于是毕业设计,不需要考虑后期的扩展。

【成本】由于项目组经济条件一般,成本整体需要尽量的小。

【其他】由于是答辩的时候会根据架构方案来进行打分,所以整体的方案复杂度要适中。


综上,该项目主要需要考虑

  1. 尽量控制成本

  2. 方案复杂度适中


  • 备选架构

  • 备选架构 1

优点:由于整体架构需要部署的 docker 进程相对较少,机器负载不高,稳定性相对较高;同时业务服务器有负载均衡,可用性也较高。

缺点:架构相对较为简单,不利于答辩表现;同时,所有的服务代码都部署在业务服务器中,三个人开发时需要在一个代码中开发,存在冲突的可能性,影响研发效率;


  • 备选架构 2


优点:整体项目复杂度较高,毕业答辩的时候介绍比较方便;系统拆分为 5 个部分,三个人分工比较方便。

缺点:架构较为复杂,由于所有的服务通过 docker 部署在同一台机器上,服务器上的负载会相对较高,系统稳定性可能会被影响。


  • 综上所述,整体会选择备选架构 2。原因是:由于是项目主要是针对毕设答辩,为了体现项目的深度在答辩的时候能得到较高的分数,而备选架构 2 的复杂度是高于备选架构 1 的。同时,由于是毕业设计,并不要求最终上线,所以备选方案 2 存在的可用性以及稳定性的问题,不是系统的主要矛盾。因此整体偏向使用备选方案 2。


用户头像

小地瓜

关注

还未添加个人签名 2018-07-19 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营 - 微信业务架构图 & “学生管理系统”毕设架构设计_架构实战营_小地瓜_InfoQ写作社区