写点什么

架构实战营模块一作业

作者:融冰
  • 2022 年 5 月 18 日
  • 本文字数:607 字

    阅读完需:约 2 分钟

微信的业务架构


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

题目

  • 需求背景

  • 可运行的学生管理系统

  • 可通过公网域名访问

  • 3 人合作完成

  • 支撑管理 1000 个学生

  • 资源背景

  • 三人开发团队,三人均会 java,一人精通 php

  • 开发团队经济条件一般

  • 作业要求

  • 对照面向复杂度架构设计方法论,给出 2 个以上方案

  • 给出最终方案以及选择理由

  • 不推荐太简单或者太复杂的方案

方案

  1. 首先分析系统详细需求可以拆分成三个子系统或者子服务

  2. 学生管理

  3. 课程及考试管理

  4. 权限管理

  5. 判断复杂度

  6. 1000 个学生的请求不会带来太大的并发要求,不需要太高性能

  7. 数据需要高可用,服务高可用要求不高

  8. 业务需求变化会比较多,需要可扩展

  9. 因团队经济条件一般,尽量低成本

  10. 因为存储的都是公开信息,安全要求不高

  11. 备选架构基本要求

  12. 利用公有云服务器降低成本

  13. 利用公有云提供的高可用数据服务提供数据高可用能力

  14. 利用公有云的域名解决方案

  15. 基于演化原则,一个学校学生数量不会变化太多,所以在之后也不会有高性能的需求

  16. 备选架构方案以及最终方案

  • 方案一


  • 方案二


应选择方案二,选择理由如下:

  • 基于适合原则,因为有三个开发人员,将系统拆分成三个服务,互相之间通过协议交互,可以让三个人相对独立地同步开发,提高开发效率

  • 基于适合原则,因为有一个开发人员精通 php,将其中复杂度较高的课程 &考试管理服务由精通 php 的人用 php 开发,其他两个复杂度较低的交由另外两人用 java 开发。

  • 基于简单原则,服务没有高可用需求,可以只部署一套服务

  • 基于演化原则,后续当需求发生变化需要扩展时,可单独更新其中的一个服务

用户头像

融冰

关注

还未添加个人签名 2020.07.20 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营模块一作业_融冰_InfoQ写作社区