写点什么

微信业务架构图 & 学生系统技术架构图

作者:白杨
  • 2022-12-07
    广东
  • 本文字数:1199 字

    阅读完需:约 4 分钟

微信业务架构图 & 学生系统技术架构图

1.微信业务架构图

  • 前期准备


2. 学生系统架构图

2.1 需求

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

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

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

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

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


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

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

② 大家经济条件一般。


作业要求:

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

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

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

2.2 需求分析

参考上课内容

  • 学生管理

  • 教师管理

  • 课程管理

  • 权限管理

  • 考试管理

2.2 系统分析

  • 支持公网域名访问

  • 支撑管理 1000 个学生

  • 预留系统增长性 2 倍

  • 复杂度应该适中

  • 高性能: 因为整体只有 1000 个学生使用,整体用户量较少,不需要考虑高性能要求

  • 高可用:毕设要求做真正可运行的学生管理系统,保障学校学生能正常使用,数据可用性高,尽量避免服务单点故障

  • 可扩展:暂不需要考虑后期的扩展。

    成本:由于项目组经济条件一般,成本整体需要尽量的小

  • 其他: 由于在校开发,结合学生背景,先能用,再优化

  • 资源要求

  • 人力:3 人 统一技术栈 java

  • 考虑 php 学习成本

  • 项目管理

  • 人力较少,暂不考虑分模块部署系统开发

  • 项目脚手架应按照需求模块进行区分,方便多人协同开发

  • 可通过每天短会的方式,汇报进度以及困难

  • 经济条件一般

  • 服务器要求不易太多

  • 时间根据毕设条件: 2 个月

  • 总结

  • 控制成本

  • 方案尽量简单,可实施性高

  • 项目把控人应该尽量选择技术能力强的同学,统一把控进度


2.3 架构设计

2.3.1 备选一

描述:

资源要求: 5 台服务器

优点:

  1. 整体架构简单,业务服务器有负载均衡,可用性也较高

  2. 通过需求模块进行任务拆分

缺点:

  1. nginx 存在单点故障

  2. 前后端未分离

  3. 管理系统单一服务高峰期负载较高


2.3.2 备选二

描述:

  1. 较之与备选一,解决 nginx 层单点问题,增加管理系统可用性

  2. 资源要求: 7 台服务器

优点:

  1. 稳定性相对较高

  2. 业务服务器有负载均衡,可用性也较高


缺点:

  1. 前后端未分离,影响性能

  2. 部署机器较之与之前有所增加

2.3.3 备选三


描述:

  1. 较之与备选二,前后端进行分离,nginx 服务器上可以部署前端页面

  2. 资源要求: 7 台服务器

优点:

  1. 稳定性相对较高

  2. 管理系统只需要进行服务单一后端开发,服务性能提高

缺点:

  1. 前后端分离带来的开发以及部署难度

2.4 总结

  • 整体会选择备选架构 2

  • 在时间人力,成本综合考虑下

  • 学生管理系统重要在于可用性,备选 2 较之于备选一增加 nginx,以及后端服务,避免单一节点故障 适合

  • 备选 2 较之于备选 3 少了前后端分离操作,但是在开发效率上,作为单体应用,开发难度不会那么大 简单

  • 综上所述 选 3

3 参考

没思路先看看别人怎么写

3.1 微信架构图

3.2 学生管理系统


用户头像

白杨

关注

还未添加个人签名 2017-11-02 加入

还未添加个人简介

评论

发布
暂无评论
微信业务架构图 & 学生系统技术架构图_白杨_InfoQ写作社区