写点什么

架构实战训练营 - 模块 1- 作业

作者:温安适
  • 2021 年 12 月 05 日
  • 本文字数:819 字

    阅读完需:约 3 分钟

1. 画出微信的业务架构图

业务架构图

描述系统对用户提供了什么业务功能


使用场景:


  1. 产品人员规划业务;

  2. 给高 P 汇报业务;

  3. 给新员工培训业务。


画图技巧:


  1. 通过不同颜色来标识业务状态;

  2. 业务分组管理。

微信业务架构图


子系统分层图


2.“学生管理系统”毕设架构设计

需求

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


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


② 要求至少 3 人合作完成;


③ 能够支撑管理 1000 个学生;


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


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


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


② 大家经济条件一般。


作业要求:


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


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


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

复杂度分析

高性能?


​ 仅需支持 1000 人,不需要过分考虑高性能


高可用?


数据不要全部丢失


可扩展?


需求有一定难度,需要可扩展


成本,安全?


开发人员,经济条件一般,成本需要尽可能的压缩。


最终分析复杂度为:


尽可能低的成本下,实现可扩展,高可用。

备选方案

方案 1


所有组件均采用阿里云成熟服务,并采取按量付费的方式,节约成本


SLB 实现高可用,高性能。


MySQL 主从,保证数据不丢失。

方案 2


所有组件均采用阿里云成熟服务,并采取按量付费的方式,节约成本


自己使用 ECS,搭建 Nginx,实现请求的分发。


服务拆分为 4 个微服务。

取舍结果

取舍依据,架构三原则


合适,简单,演化。


毕设项目,不涉及演化原则,这里仅考虑合适,简单 2 个原则。


经过分析,这个毕设项目的复杂度为:


尽可能低的成本下,实现可扩展,高可用。


方案 1,服务不拆分,数据不分离,但是实现了高可用,易扩展,成本低。


方案 2,服务拆分,数据不隔离,可以实现易扩展,但是如果实现高可用还需要,再多买 4 台服务器。


方案 1,相比方案 2 ,更省钱,更合适,更简单,所以最终取舍后的方案为 :方案 1

发布于: 2 小时前阅读数: 9
用户头像

温安适

关注

还未添加个人签名 2020.03.29 加入

还未添加个人简介

评论

发布
暂无评论
架构实战训练营-模块1-作业