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