业务架构学习笔记一:作业
一、画出微信的业务架构图
 
 二、“学生管理系统”毕设架构设计
假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:
- 要求可以通过公网域名访问; 
- 要求至少 3 人合作完成; 
- 能够支撑管理 1000 个学生; 
- 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案 
你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:
- 大家都会 Java,但是有一个是 PHP 高手 
- 大家经济条件一般 
作业要求:
- 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。 
- 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。 
- 给出你选择的最终方案以及选择理由。 
架构设计步骤
- 需求澄清 
- 复杂度分析 
- 架构设计三原则 
- 引用模式(高性能、高可用、可扩展、安全、成本...) 
- 通用套路(分库分表、缓存、集群、分片、微服务、DDD、异地多活) 
需求澄清
- 要求系统可运行、可通过公网域名访问。 
- 要求至少 3 人合作完成; 
- 支撑管理 1000 个学生 
- 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案 
- 大家都会 Java,但是有一个是 PHP 高手 
- 大家经济条件一般 
复杂度分析
公网域名访问 -> 搭建域名服务 / 购买公网域名
经济条件一般 -> 学校机房 / 云服务
系统可运行 -> 单服务器 / 多服务器
管理 1000 个学生 -> 单应用 / 多应用
至少 3 人合作 -> 单模块 / 多模块
都会 Java、一个 PHP 高手 -> 单模块 / 多模块
架构设计三原则套用
合适原则: 购买公网域名、 学校机房、 多服务器、 多应用、 多模块、 多模块
简单原则: 购买公网域名、 云服务、 单服务器、 单应用、 单模块、 单模块
演化原则: 购买公网域名、 云服务、 单服务器、 单应用、 单模块、 单模块
答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案
综合:
购买公网域名、 云服务、 单服务器/多服务器、 单应用/多应用、 多模块
架构方案
备选架构 1
 
 优点:
- 经济适用、维护成本底。 
缺点:
- 应用服务器是单节点的,有宕机的风险。 
备选架构 2
 
 优点:
- 2 台应用服务器,避免单体容易宕机的风险。 
- 可以支撑更多请求量。 
缺点:
- 增加系统的复杂度,经济和维护成本上升。 
方案取舍
选择方案:备选架构 2
理由:
可扩展:后期只需添加应用服务器数量,提高了系统可扩展性。
高可用:2 台应用服务器,数据库主备,提高了系统可用性。
高性能:2 台应用服务器,数据库主备,提高了系统性能。
成本:相对会高一些。












 
    
评论