写点什么

微信业务架构图 & 学生管理系统架构设计

用户头像
Steven
关注
发布于: 刚刚

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


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


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

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

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

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

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


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

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

② 大家经济条件一般。


作业要求:

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

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

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


2.1 复杂度判断


  • 高性能

支撑管理 1000 个学生,对性能要求不高。

  • 高可用

学校对学生管理系统的依赖度不大,系统出问题,甚至挂掉也不会有很大的影响。学生信息是专人人工录入或学生自己录入,如果大面积或全部丢失,补起来会比较麻烦。所以这里有数据高可用的要求。

  • 可扩展

需求稍有一些复杂度,对扩展性有一定要求。

  • 成本

三个学生经济条件一般,成本方面需要考虑。

  • 安全

虽然是公网可访问,但系统里并不涉及资金,隐私等敏感数据,不需要过多考虑。


综上,需要考虑的复杂度:

数据高可能:数据不能大范围或全部丢失。

可扩展:业务需要比较复杂。

成本:三个学生经济条件一般。

2.2 备选架构方案

备选方案 1:

Nginx 反向代理到三个子系统,MySQL 主备部署。

备选方案 2:

三个业务服务器上部署相同的学生管理系统。


备选方案 3:

公网域名的 DNS 解析到两台业务服务器。

2.3 最终方案及选择理由

选择【备选方案 3】。

架构设计三原则:

另补充一点:

在开发语言上选择 Java 语言。因为大家都会使用,开发效率会比较高。

用户头像

Steven

关注

还未添加个人签名 2008.07.18 加入

还未添加个人简介

评论

发布
暂无评论
微信业务架构图 & 学生管理系统架构设计