写点什么

架构实战营 - 模块一作业

作者:凯博无线
  • 2022 年 3 月 23 日
  • 本文字数:821 字

    阅读完需:约 3 分钟

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


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

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

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

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

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

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

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

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

② 大家经济条件一般。

作业要求:

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

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

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


架构复杂度分析:

  • 高性能?

仅需支撑管理 1000 人,不用太过关注高性能。

  • 高可用?

学校的日常管理并非完全依赖于学生管理系统, 高可用也可以不用太过关注。

  • 可扩展?

学生管理系统业务比较复杂,需要考虑。

  • 成本、安全?

毕业项目因为大家经济条件一般成本应当考虑,且要求可以通过公网域名访问,部署在公网上需要考虑一定的安全性。


备选架构一:


备选架构二:


备选架构三:


方案取舍:

  • 团队的技术水平

大家都会 Java,但是有一个是 PHP 高手; -- 开发语言应当选择 java,能是团队成员共同出力。

  • 方案的成本

方案 1: 每个模块单独部署服务器,如果新增模块会增加服务器,服务器会比较多,且因部署在公网上,如果一个模块服务器挂了则会直接影响系统使用。

方案 2: 所有模块都部署在同一个服务器上,在业务量较少时可使用 1-2 台服务器即可。

方案 3: 在方案 2 的基础上,选择了更为廉价的 DNS 解析作为负载均衡器,减少单独使用 nginx 服务器。


结论: 大家经济条件一般, 选择方案 3 更能节约成本。


架构设计三原则:

  • 合适原则

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

② 开发成本低;

③ 系统运维成本低。

  • 简单原则

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

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

  • 演化原则

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

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

用户头像

凯博无线

关注

还未添加个人签名 2021.08.29 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营-模块一作业_凯博无线_InfoQ写作平台