写点什么

架构训练营模块一作业

作者:沈益飞
  • 2021 年 12 月 03 日
  • 本文字数:801 字

    阅读完需:约 3 分钟

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

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

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

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

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

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

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

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

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

② 大家经济条件一般。

作业要求:

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

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

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


判断复杂度

1、高性能?1000 个人来说对于性能要求并不高。

2、高可用?学生管理系统对于高可用要求并不高,学校的教学并不是完全依赖于学生管理系统,但是对于数据高可用需要特别的注意,不能全部丢失学生信息。

3、可扩展?学生管理系统需求相对复杂,所以对应可扩展性需要注意,明确规定需要三个人合作完成,为了合作顺利,需要按照模块划分编码。

4、成本、安全?由于大家经济一般,所以这边成本相对需要控制一下。

总结下来:可扩展:业务相对比较复杂,按模块划分编码,数据高可用:数据不能全部丢失,成本:需要租用云服务器,按量付费。

备选架构方案

备选方案一

备选方案二



方案取舍

基于团队的技术水平,方案的成本,开发周期三个方面思考

如果使用方案一:团队人员都会 Java,有一个 PHP 高手,如果我们要将学生管理系统拆分成多个子系统,一个系统由 PHP 实现,另外两个子系统由 Java 实现,这个时候就会出现,团队协作的问题,也会存在开发成本比较高的情况,且部署运维都会比较麻烦,服务器相对比较耗费成本。

如果使用方案二:我们按照模块拆分,2 个模块用 Java,一个模块用 PHP 这个也是不合理的,所以我们需要三个开发都用 Java 编写,且按照模块的方式编写。我们只用 2 台服务器,也降低了成本。

最终我们使用备选方案二

用户头像

沈益飞

关注

还未添加个人签名 2018.04.02 加入

还未添加个人简介

评论

发布
暂无评论
架构训练营模块一作业