写点什么

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

作者:chinandy
  • 2022-12-07
    浙江
  • 本文字数:1476 字

    阅读完需:约 5 分钟

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

一、微信业务架构设计图

微信业务架构图

二、学生管理系统架构设计

需求:

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

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

  2. 要求至少 3 人合作完成;

  3. 能够支撑管理 1000 个学生;

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

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

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

  2. 大家经济条件一般。

作业要求:

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

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

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

设计架构

使用面向复杂度架构设计方法论

第一步:判断复杂度

根据复杂度的主要来源进行判断:

  1. 高性能:通过需求可知,不需要十分高的性能。

  2. 高可用:服务虽说不需要高可用,但是数据由于是可能需要人员录入,所以不能全部丢失,不然工作量有点大,需要做到一般的数据高可用。

  3. 可扩展:由于像教务管理,选课等业务还是有一定的复杂度,需要可扩展性。

  4. 成本:大家经济条件一般肯定是越节省成本越好。

  5. 安全:没有特别的安全要求。

第二步:设计备选方案

方案一

架构描述: 采用 Java web 的单应用架构,DNS 做负载均衡,数据库用 MySQL 做简单的主备复制。

设计依据: 由复杂度分析可知,系统不需要高性能和高可用,只需要业务可扩展性和数据一定的高可用,并依据架构设计三原则进行设计指导:

  1. 合适原则:团队 3 个人都会 Java,所以采用 Java 技术栈更合适,针对一般的数据高可用,采用 MySQL 的主备复制就可以满足要求。

  2. 简单原则:该系统对性能和服务的高可用不高,使用简单的 Java 单体应用架构即可。

  3. 演变原则:由于系统需求相对固定,所以可以暂时不考虑演变。

方案一

方案二

架构描述: 采用前后端分离架构,Java 作为后端 API 开发语言,PHP 作为前端开发语言,使用 nginx 做反向代理和负载均衡,数据库用 MySQL 做简单的主备复制。

设计依据: 由复杂度分析可知,系统不需要高性能和高可用,只需要业务可扩展性和数据一定的高可用,并依据架构设计三原则进行设计指导:

  1. 合适原则:团队 3 个人都会 Java,所以采用 Java 做后端语言合适,与此同时有一个人精通 PHP 所以可以放心的使用其作为前端的开发语言。nginx 作为反向代理和负载均衡服务器,可以很好的利用其功能,并能减少成本。针对一般的数据高可用,采用 MySQL 的主备复制就可以满足要求。

  2. 简单原则:该系统对性能和服务的高可用不高,并且配合团队资源,可以放心的进行前后端分离。

  3. 演变原则:进行前后端分离之后,可以拥有更好的可扩展性,以便以后进行多个前端平台的扩展,并加强后端服务 API 的复用。

方案二

方案三

架构描述: 将系统简单拆分为三个子系统,Java 作为开发语言,使用 nginx 做反向代理和负载均衡,数据库用 MySQL 做简单的主备复制。

设计依据: 由复杂度分析可知,系统不需要高性能和高可用,只需要业务可扩展性和数据一定的高可用,并依据架构设计三原则进行设计指导:

  1. 合适原则:团队 3 个人都会 Java,所以采用 Java 技术栈更合适,针对一般的数据高可用,采用 MySQL 的主备复制就可以满足要求。

  2. 简单原则:该系统对性能和服务的高可用不高,并且配合团队资源,每人可以负责一个简单的 Java 单体应用架构子系统。

  3. 演变原则:拆分成子系统业务扩展性强,服务职责分明,能支持精准的水平扩容。

方案三


第三步:选择方案

利用架构设计三原则,选择备选方案一

  1. 合适原则:

  • 符合团队技术水平和积累;

  • 开发成本低;

  • 系统运维成本低;

  • 经济成本低。

  1. 简单原则:

  • 不进行系统拆分,部署维护简单;

  • Java 单体应用开发简单。

  1. 演化原则:

  • 一次性交付,无需考虑太多后期演化;

  • 学校的学生数量不会发生很大的变化,系统架构够用多年。


用户头像

chinandy

关注

还未添加个人签名 2021-08-14 加入

还未添加个人简介

评论

发布
暂无评论
微信业务架构图 & 学生管理系统_架构设计_chinandy_InfoQ写作社区