写点什么

业务架构学习笔记一:作业

用户头像
小鹿
关注
发布于: 刚刚

一、画出微信的业务架构图


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

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

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

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

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

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

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

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

  2. 大家经济条件一般

作业要求:

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

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

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


架构设计步骤

  1. 需求澄清

  2. 复杂度分析

  3. 架构设计三原则

  4. 引用模式(高性能、高可用、可扩展、安全、成本...)

  5. 通用套路(分库分表、缓存、集群、分片、微服务、DDD、异地多活)

需求澄清

  1. 要求系统可运行、可通过公网域名访问

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

  3. 支撑管理 1000 个学生

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


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

  2. 大家经济条件一般


复杂度分析

公网域名访问 -> 搭建域名服务 / 购买公网域名

经济条件一般 -> 学校机房 / 云服务

系统可运行 -> 单服务器 / 多服务器

管理 1000 个学生 -> 单应用 / 多应用

至少 3 人合作 -> 单模块 / 多模块

都会 Java、一个 PHP 高手 -> 单模块 / 多模块


架构设计三原则套用

合适原则: 购买公网域名、 学校机房、 多服务器、 多应用、 多模块、 多模块

简单原则: 购买公网域名、 云服务、 单服务器、 单应用、 单模块、 单模块

演化原则: 购买公网域名、 云服务、 单服务器、 单应用、 单模块、 单模块


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


综合:

购买公网域名、 云服务、 单服务器/多服务器、 单应用/多应用、 多模块


架构方案

备选架构 1

优点:

  • 经济适用、维护成本底。

缺点:

  • 应用服务器是单节点的,有宕机的风险。


备选架构 2

优点:

  • 2 台应用服务器,避免单体容易宕机的风险。

  • 可以支撑更多请求量。

缺点:

  • 增加系统的复杂度,经济和维护成本上升。

方案取舍

选择方案:备选架构 2

理由:

可扩展:后期只需添加应用服务器数量,提高了系统可扩展性。

高可用:2 台应用服务器,数据库主备,提高了系统可用性。

高性能:2 台应用服务器,数据库主备,提高了系统性能。

成本:相对会高一些。

用户头像

小鹿

关注

还未添加个人签名 2020.04.16 加入

还未添加个人简介

评论

发布
暂无评论
业务架构学习笔记一:作业