写点什么

【架构训练营】【模块一】【作业】【微信业务架构】【学生管理系统架构】

发布于: 59 分钟前
【架构训练营】【模块一】【作业】【微信业务架构】【学生管理系统架构】

微信的业务架构图


需求

画出微信的业务架构图
复制代码


微信业务架构图


学生管理系统架构

需求

毕设架构设计假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:① 要求可以通过公网域名访问;② 要求至少 3 人合作完成; ③ 能够支撑管理 1000 个学生; ④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。你找了 2 个好朋友一起来做这个项目,你们的基本情况如下: ① 大家都会 Java,但是有一个是 PHP 高手;② 大家经济条件一般。 作业要求: ① 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。 ② 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。 ③ 给出你选择的最终方案以及选择理由。
复制代码


架构方案 1

单块应用单机部署


简介:

  1. 云服务部署无需采购硬件,成本可控

  2. 足够支撑 1000 用户访问

  3. 可通过公网域名进行访问

  4. 符合简单原则 合适原则 演进原则


缺点:架构简单,答辩评分会受影响 ,宕机后整个系统不可用,且数据丢失后无法还原

架构方案 2

单块应用双机部署


简介:

  1. 在架构方案一基础上进行双机部署,可保证一个机器宕机后可正常提供服务,且数据更安全

缺点:系统单一功能流量过大时可能导致其他服务均不可用

架构方案 3

微服务拆分

简介:

  1. 在方案 2 基础上进行微服务拆分,当某一服务流量过大时可进行负载均衡,且不影响其他服务正常运行

缺点:服务拆分会导致开发周期延长,服务间调用复杂,加大运维难度,且机房故障时仍旧无法保证服务正常运行

架构方案 4

异地多活


简介:

  1. 在方案 3 基础上进行异地部署,当一机房故障时可迁移流量到另一机房

缺点:开发部署成本高,运维成本高


根据架构设计三原则来看以上几个方案


方案 1 简单 不合适(方案过于简单无法满足答辩需求)

方案 2 简单 合适 (方案难度适中,开发成本低,基本可用,可根据需求进行演进)

方案 3 复杂 合适 (方案复杂,开发维护成本高,可用性高,可根据实际业务进行扩容)

方案 4 复杂 不合适 (方案复杂,虽可保证系统高可用,但开发运维成本超出预算,就目前需求而言属于过度设计)


然每个方案均有瑕疵,但考虑到毕设答辩需求以及预算较低的情况方案 2 更加合适。

用户头像

还未添加个人签名 2018.06.11 加入

还未添加个人简介

评论

发布
暂无评论
【架构训练营】【模块一】【作业】【微信业务架构】【学生管理系统架构】