写点什么

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

作者:Pyel
  • 2021 年 12 月 09 日
  • 本文字数:1275 字

    阅读完需:约 4 分钟

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

这是架构实战营-模块 1 作业提交。

有些仓促,日后再完善。

p.s.:第一次使用 InfoQ 的写作平台,感觉体验极佳,好评。


作业 1

画出微信业务架构图



作业 2


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

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

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

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

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

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

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

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

② 大家经济条件一般

作业要求:

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

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

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


如上,以加粗字体标识出已识别的关键信息。


思路


采用面向复杂度架构设计方法论

复杂度分析

  1. 业务吞吐量分析。学生管理系统,需求中要求能够支撑管理 1000 个学生,且一般情况下,学校招生数量增量趋势变化不大,故用户总量以 1000 人作为上限计算。

  2. 数据高可用分析。通过学生管理业务判断可承担偶尔的数据丢失,但丢失数据应能及时找回。

  3. 系统高性能分析。由系统吞吐要求可知,系统并发不超过 1000,压力不大,性能要求不高。

  4. 系统可扩展性分析。学生管理方面业务需求可能会较为复杂。可能涉及到的业务例如有:学生、教师、课程、考试、选课、成绩,第三方对接互动等。

  5. 安全性分析。系统不涉密,无特别的敏感数据等数据安全方面特别要求。但由于系统可通过公网访问,需保障其安全性,如数据不明文传输,有能力应对网络恶意攻击 DDoS 等。

  6. 成本分析。由于大家经济条件都一般,系统规划设计不镀金,例如不考虑网络恶意流量对于基础设施的破坏性影响应对等。

  7. 团队能力分析。大家都会 Java,但有一个 PHP 高手,判断不采用过于复杂的架构设计。


求解方案

方案 1


优点

符合上述需求分析。

MySQL 主备模式,确保数据高可用,且从技术角度,具备数据恢复的可行性。

缺点

MySQL 主备模式以及数据回滚、恢复,对于运维存在技术要求,运维便捷性可能不够高。


方案 2



优点

符合上述需求分析。

前后端分离,采用 PHP,充分利用了团队中存在 PHP 高手的优势。

缺点

MySQL 主备模式以及数据回滚、恢复,对于运维存在技术要求,运维便捷性可能不够高。


方案 3


优点

符合上述需求分析。

前后端分离,采用 PHP,充分利用了团队中存在 PHP 高手的优势。

复用原有 Oracle RAC 集群,降低数据库层面运维要求,且充分利旧也降低了项目成本。

缺点

应用服务器建议还是尽量再进行水平扩容。


最终方案


经过取舍,最终选择方案 3。

思路如下:

合适原则

① 符合团队技术水平和积累;

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

② 开发成本低;

前后端分离

③ 系统运维成本低。

数据库复用

简单原则

① 不进行系统拆分,部署维护简单;

综合考虑,未镀金、炫技,一味地采用新技术

② 没用微服务,无需微服务基础设施。

前后端分离架构,未采用微服务

演化原则

① 一次性交付,无需考虑太多后期演化;

符合学生管理系统需求

② 学校的学生数量不会发生很大变化,系统架构够用多年。

符合学生管理系统后续扩容等趋势


发布于: 22 小时前阅读数: 16
用户头像

Pyel

关注

还未添加个人签名 2015.01.29 加入

还未添加个人简介

评论

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